获取程序根目录

来源:互联网 发布:金鼎智赢交易软件 编辑:程序博客网 时间:2024/06/05 18:20

Delphi 在启动应用程序时与 C 语言一样会传递命令行参数给应用程序,第一个参数(索引号为零)表示应用程序本身的文件名(包括完整的路径),这个 String 参数由函数 ParamStr(0) 返回。 
  顺便说一句,Delphi 提供了分析文件名的多个函数,如果你需要从文件名中得到路径名,可用下面的两个函数,这两个函数有一点点微小的差别:

  ExtractFilePath(FileName:String) 该函数返回路径名,其结尾字符总是“\”

  ExtractFileDir(FileName:String) 该函数同样返回路径名,但不包括结尾的字符“\”,除非返回的路径是根目录。

例如:获取当前程序的路径时就应该这样写

var   

path:string;

………

path:=ExtractFilePath(ParamStr(0));

 

如果调用同一目录下的aa.ini文件,就应该这样写

inifilename:string;

inifilename:=path+'aa.ini';


另外,Delphi自己还提供了一个取得当前目录的函数:GetCurrentDir,返回值不包括结尾的字符“\”,除非返回的路径是根目录。以下是个例子:

inifilename:=GetCurrentDir + '\abc.txt';

需要注意的是,GetCurrentDir只有在程序刚运行时取得的是程序运行目录,如果运行过程中改变过当前目录,则该函数返回的结果也会跟着改变。