獲取檔案路徑

2021-08-07 11:04:18 字數 2245 閱讀 2850

(*

相對路徑和絕對路徑的轉換

*)unit

xpath;  

inte***ce

uses

shlwapi, windows, sysutils;  

/// 

/// 取絕對路徑的函式。需要引用 shlwapi.pas

/// 

/// 參考路徑

/// 相對路徑

///

/// s := getabsolutepath('c:\windows\system32', '..\demo.txt')

//  s 將得到 'c:\windows\demo.txt

///

function

getabsolutepathex(basepath, relativepath:

string

):string

;  /// 

/// 取得本身程式的路徑

/// 

function

string

;  function

getrelativepath(

const

path, afile: 

string

): string

;  implementation

function

getabsolutepathex(basepath, relativepath:

string

):string

;  var

dest:array

[0..

max_path] 

ofchar

;  begin

fillchar(dest,max_path+1,0

);  

pathcombine(dest,pchar(basepath), pchar(relativepath));  

result:=string

(dest);  

end;  

function

getrelativepath(

const

path, afile: 

string

): string

;  function

getattr(isdir: boolean): dword;  

begin

ifisdir 

then

result := file_attribute_directory  

else

result := file_attribute_normal;  

end;  

varp: array

[0..

max_path] 

ofchar;  

begin

pathrelativepathto(p, pchar(path), getattr(false), pchar(afile), getattr(true));  

result := strpas(p);  

end;  

function

string

;  begin

result := extractfilepath(paramstr(0

));  

end;  

end.  

(*expandfilename() 返回檔案的全路徑(含驅動器、路徑)

extractfileext() 從檔名中抽取副檔名

extractfilename() 從檔名中抽取不含路徑的檔名

extractfilepath() 從檔名中抽取路徑名

extractfiledir() 從檔名中抽取目錄名

extractfiledrive() 從檔名中抽取驅動器名

changefileext() 改變檔案的副檔名

expanduncfilename() 返回含有網路驅動器的檔案全路徑

extractrelativepath() 從檔名中抽取相對路徑資訊

extractshortpathname() 把檔名轉化為dos的8·3格式

matchesmask() 檢查檔案是否與指定的檔名格式匹配

extractfilepath(filename:string)

該函式返回路徑名,其結尾字元總是「\」

extractfiledir(filename:string)

*)

檔案獲取路徑

獲取模組的完整路徑,包含檔名 system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取和設定當前目錄 該程序從中啟動的目錄 的完全限定目錄。system.environment.currentdirectory 獲取應用程...

c 獲取檔案路徑

一 獲取當前檔案的路徑 1.system.diagnostics.process.getcurrentprocess mainmodule.filename 獲取模組的完整路徑,包括檔名。2.system.environment.currentdirectory 獲取和設定當前目錄 該程序從中啟動的...

C 獲取檔案路徑

1.獲取檔案路徑問題 首先確認 要查詢的檔案與可執行檔案是否在同一目錄下 同一目錄下 string filename test.txt fileinfo fi new fileinfo filename string path fi.fullname 不同目錄分兩種情況 相對路徑只能相對於應用程式的...