本文整理自网络,侵删。
(*相对路径和绝对路径的转换*) unit xPath; interface uses ShlwApi, Windows, SysUtils; /// <summary>/// 取绝对路径的函数。需要引用 ShlwApi.pas/// </summary>/// <param name="BasePath">参考路径</param>/// <param name="RelativePath">相对路径</param>/// <code>/// S := GetAbsolutePath('C:\Windows\System32', '..\DEMO.TXT')// S 将得到 'C:\Windows\DEMO.TXT/// </code>function GetAbsolutePathEx(BasePath, RelativePath:string):string; /// <summary>/// 取得本身程序的路径/// </summary>function AppPath : string;function GetRelativePath(const Path, AFile: string): string; implementationfunction GetAbsolutePathEx(BasePath, RelativePath:string):string;var Dest:array [0..MAX_PATH] of char;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 if IsDir then Result := FILE_ATTRIBUTE_DIRECTORY else Result := FILE_ATTRIBUTE_NORMAL; end;var p: array[0..MAX_PATH] of Char;begin PathRelativePathTo(p, PChar(Path), GetAttr(False), PChar(AFile), GetAttr(True)); Result := StrPas(p);end; function AppPath : 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)*)
相关阅读 >>
Delphi ioutils 单元(6): tpath(结构体)路径的提取和处理
更多相关阅读请进入《Delphi》频道 >>