我一向用类似于“.\MyDir\”的方法写相对路径,最近发现这样的写法中的“.”代表的是当前打开的文件夹,并不一定是主程序所在的文件夹。后用类似于“\MyDir\”和“MyDir\”的写法,都没有得到想要的结果。
哪位大虾能将相对路径详细的解释一下?万分感激!
哪位大虾能将相对路径详细的解释一下?万分感激!
解决方案 »
- 调用DLL传输String,关闭程序时出错
- 想快速对delphi上手,请问有什么好的实例介绍?
- 各们GG MM请进(来者有分)
- 怎样备份文件分配表
- 大家快来看看,这个功能是如何实现的,关于DBCtrlGrid
- 怎么查找计算机的MAC地址
- 数据库相关的问题(连接后缀名的参数相关问题)急急!!!
- 总是看到WebBrowser,他是个控件吗?
- 一个button控件的caption自动换行问题!
- 如何和并口通信
- 哪位大哥提供给我一个delphi 5 的可下载链接阿??(急)
- 在线请教:我想实现一个控件,可是在install的时候,老是出错:[Error] RLINK32: Unsupported 16bit resource in file "E:\delphi\demo\a
var
FileName : String; //主程序所在文件夹
begin
FileName := ExtractFilePath(ParamStr(0));
end;
FileName : String; //主程序所在文件夹
begin
FileName := ExtractFilePath(Application.ExeName);
end;
A: c:\a\b
B: c:\a\b\c
那么A相对于B的路径(即相对路径)是‘..\b’。这个应该很好理解。Delphi提供一个函数用来取得相对路径:
function ExtractRelativePath(const BaseName, DestName: string): string;
如:
ExtractRelativePath(B, A)表示A相对于B的路径,返回‘..\b’。
取得主程序所在路径可用:
ExtractFilePath(ParamStr(0));或者
ExtractFilePath(Application.ExeName);
至于GetCurrentDir,是取得当前路径,当前路径不一定是主程序所在路径。比如在程序运行过程中通过其他方式进入了其他路径(如在资源管理器中浏览别的目录),此时当前路径就不是主程序所在路径了。————————————————————————————————————
宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
————————————————————————————————————