在Delphi中获取正确的相对路径

Ger*_*rdS 2 delphi path relative-path

我正在用Delphi 2009编写一个小应用程序来编辑HTML文件.同

HypRef := '../../photos/myjpg.jpg'   
If FileExists(ExpandFileName(HypRef)) then ... 
Run Code Online (Sandbox Code Playgroud)

我可以找出该文件是否存在.如果FileExists给出否定答案,是否有找到正确相对路径的函数?

All*_*uer 10

我假设你的意思是相对于主HTML文档的目录.您可以将SetCurrentDir()调用到包含主HTML文档的目录,或者您可以简单地将该路径添加到相对路径.

if FileExists(ExtractFilePath(MainDocument) + HypRef) then...
Run Code Online (Sandbox Code Playgroud)

你真的不需要调用ExpandFileName(),因为操作系统将正确解析'..'和'.' 件.但是,如果您打算使用该路径进行标识,则应使用ExpandFileName()将它们全部化为cannonicalized.