【100】Delphi获取自身文件名
在网上找了半天没有结果,来问问,我想获取程序自身的文件名比如我把Delphi写好的程序放在“D:\123\”里面,然后我F2重命名为“123.exe”哪么请问我要在代码里怎么写才能让一个变量来保存当前文件名,需要什么函数,怎么用,谢谢各位大大。
[解决办法]
Application.ExeName
[解决办法]
也可直接用
ParamStr(0)
它就是当前运行程序名
[解决办法]
妖哥跨版抢分来了
[解决办法]
BS楼上这些抢分的人
[解决办法]
ExtractFileName(App.ExeName)
[解决办法]
对跨版抢分者当跨省追杀,不可姑息啊
[解决办法]
同志们啊,我好不容易找到一个会的!!
[解决办法]
1、两种方法
ParamStr(0)
Application.ExeName
2、简单比较
跟踪一下VCL源码就会发现,它们其实是殊途同归的
第1种方法则是调用全局函数ParamStr,是过程式编程风格写法
第2种写法通过Application类的ExeName属性,是OO编程风格写法
property ExeName: string read GetExeName;function TApplication.GetExeName: string;begin Result := ParamStr(0);end;
[解决办法]
(*//标题:<<Delphi6函数大全-SysUtils.pas>>格式:text大小:92671制作:Zswang日期:2002-01-25//*)//......首部 function ExtractFilePath(const FileName: string): string; $[SysUtils.pas功能 返回文件名所在的路径说明 ExtractFilePath('C:\')='C:\';ExtractFilePath('\\Server\Tool\Calc.exe')='\\Server\Tool\'参考 function SysUtils.LastDelimiter;function System.Copy例子 Edit1.Text := ExtractFilePath(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractFileDir(const FileName: string): string; $[SysUtils.pas功能 返回文件名所在的目录说明 ExtractFileDir('C:\')='C:\';ExtractFileDir('\\Server\Tool\Calc.exe')='\\Server\Tool'参考 function SysUtils.LastDelimiter;function System.Copy例子 Edit1.Text := ExtractFileDir(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractFileDrive(const FileName: string): string; $[SysUtils.pas功能 返回文件名所在驱动器说明 ExtractFileDrive('C:\')='C:';ExtractFileDrive('\\Server\Tool\Calc.exe')='\\Server\Tool'参考 function System.Copy例子 Edit1.Text := ExtractFileDrive(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractFileName(const FileName: string): string; $[SysUtils.pas功能 返回绝对文件名说明 ExtractFileName('C:\')='';ExtractFileName('\\Server\Tool\Calc.exe')='Calc.exe'参考 function SysUtils.LastDelimiter;function System.Copy例子 Edit1.Text := ExtractFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExtractFileExt(const FileName: string): string; $[SysUtils.pas功能 返回文件名的扩展名说明 ExtractFileExt('C:\')='';ExtractFileExt('\\Server\Tool\Calc.exe')='.exe'参考 function SysUtils.LastDelimiter;function System.Copy例子 Edit1.Text := ExtractFileExt(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExpandFileName(const FileName: string): string; $[SysUtils.pas功能 返回文件名的完整表示说明 ExpandFileName('hello.pas')='C:\Program Files\Borland\Delphi6\Projects\hello.pas'参考 function Windows.GetFullPathName例子 Edit1.Text := ExpandFileName(Edit2.Text);━━━━━━━━━━━━━━━━━━━━━首部 function ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string; $[SysUtils.pas功能 分情况返回文件名的完整表示说明 type TFilenameCaseMatch = (mkNone, mkExactMatch, mkSingleMatch, mkAmbiguous);参考 function Windows.GetFullPathName;function SysUtils.SameFileName;function SysUtils.FindFirst例子///////Begin ExpandFileNameCaseprocedure TForm1.Button1Click(Sender: TObject);var vFilenameCaseMatch: TFilenameCaseMatch;begin Edit1.Text := ExpandFileNameCase(Edit2.Text, vFilenameCaseMatch); SpinEdit1.Value := Ord(vFilenameCaseMatch);end;///////End ExpandFileNameCase━━━━━━━━━━━━━━━━━━━━━首部 function ExpandUNCFileName(const FileName: string): string; $[SysUtils.pas功能 返回LINUX文件名的完整表示说明 ExpandUNCFileName('C:/')='C:\'参考 function SysUtils.ExpandFileName例子 Edit1.Text := ExpandUNCFileName(Edit2.Text);//......
[解决办法]
感谢Zswang的辛苦整理