【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(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);

//......