【100】Delphi获取自身文件名,该如何处理
【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编程风格写法
在网上找了半天没有结果,来问问,我想获取程序自身的文件名比如我把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编程风格写法
- Delphi(Pascal) code
property ExeName: string read GetExeName; function TApplication.GetExeName: string; begin Result := ParamStr(0); end;
------解决方案--------------------
- Delphi(Pascal) code
(*// 标题:<<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 ExpandFileNameCase procedure 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); //......