Delphi程序获取自身运行目录的方法(取运行目录)(转载)
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只有在程序刚运行时取得的是程序运行目录,如果运行过程中改变过当前目录,则该函数返回的结果也会跟着改变。