(*
相對路徑和絕對路徑的轉換
*)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 不同目錄分兩種情況 相對路徑只能相對於應用程式的...