linux调用delphi程序路径,delphi 获取文件所在路径

//delphi 获取文件所在路径

ExtractFileDrive :返回完整文件名中的驱动器,如"C:"

ExtractFilePath:返回完整文件名中的路径,最后带“/”,如"C:/test/"

ExtractFileDir:返回完整文件名中的路径,最后不带“/” ,如"C:/test"

ExtractFileName:返回完整文件名中的文件名称 (带扩展名),如"mytest.doc"

ExtractFileExt 返回完整文件名中的文件扩展名(带.),如".doc"

ExtractRelativePath : 返回相对路径,定义如下:

function ExtractRelativePath(const BaseName, DestName: string): string;

使用测试下如:

SysUtils.ExtractRelativePath('C:/test','C:/Test/TestRelativePath'):返回TestRelativePath

SysUtils.ExtractRelativePath('C:/Test/TestRelativePath','C:/test'):返回'../TestRelativePath'

SysUtils.ExtractRelativePath('C:/Test/TestRelativePath/','C:/test'):返回'../../TestRelativePath'

ExtractShortPathName :返回短文件名,即8+3,文件名长八位,扩展名为3号,为保持DOS系统兼容而存在

若想获取的文件名不带路径,可用:

ChangeFileExt(TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename,''); 函数将扩展名改掉即可.目前好象就这一种办法,谁还有更好的办法?请告知

另附其它地方的资料:

1、文件名函数

文件名函数可以对文件的名称、所在子目录、驱动器和扩展名等进行操作。下表列出这些函数及其功能。

函数 说明

ExpandFileName() 返回文件的全路径(含驱动器、路径)

ExtractFileExt() 从文件名中抽取扩展名

ExtractFileName() 从文件名中抽取不含路径的文件名

ExtractFilePath() 从文件名中抽取路径名

ExtractFileDir() 从文件名中抽取目录名

ExtractFileDrive() 从文件名中抽取驱动器名

ChangeFileExt() 改变文件的扩展名

ExpandUNCFileName() 返回含有网络驱动器的文件全路径

ExtractRelativePath() 从文件名中抽取相对路径信息

ExtractShortPathName() 把文件名转化为DOS的8·3格式

MatchesMask() 检查文件是否与指定的文件名格式匹配

ExtractFilePath(FileName:String)

该函数返回路径名,其结尾字符总是“/”

ExtractFileDir(FileName:String)

该函数同样返回路径名,但不包括结尾的字符“/”,除非返回的路径是根目录。

下面就把这些函数作一一介绍:

⑴ExpandFileName()

原型:extern PACKAGE AnsiString __fastcall ExpandFileName(const AnsiString FileName);

功能:返回文件的全路径(含驱动器、路径)

参数:FileName:要处理的文件名

例:ShowMessage(ExpandFileName(Application->ExeName));//显示你的程序文件名,如C:/MyBCB/Sample1.EXE

⑵ExtractFileExt()

原型:extern PACKAGE AnsiString __fastcall ExtractFileExt(const AnsiString FileName);

功能:从文件名中抽取扩展名

参数:FileName:要处理的文件名(全路径)

例:ShowMessage(ExtractFileExt(Application->ExeName));//显示".exe"

⑶ExtractFileName()

原型:extern PACKAGE AnsiString __fastcall ExtractFileName(const AnsiString FileName);

功能:从文件名中抽取不含路径的文件名

参数:FileName:要处理的文件名

例:ShowMessage(ExtractFileExt("c://Winnt//SOL.EXE"));//显示"SOL.EXE"

⑷ExtractFilePath()

原型:extern PACKAGE AnsiString __fastcall ExtractFilePath(const AnsiString FileName);

功能:从文件名中抽取路径名

参数:FileName:要处理的文件名

例:ShowMessage(ExtractFilePath("Winnt//SOL.EXE"));//显示"Winnt/"

⑸ExtractFileDir()

原型:extern PACKAGE AnsiString __fastcall ExtractFileDir(const AnsiString FileName);

功能:从文件名中抽取目录名(和上个函数不同,不包括最后的"/")

参数:FileName:要处理的文件名

例:ShowMessage(ExtractFileDir("Winnt//SOL.EXE"));//显示"Winnt",注意和上个函数的区别

⑹ExtractFileDrive()

原型:extern PACKAGE AnsiString __fastcall ExtractFileDrive(const AnsiString FileName);

功能:从文件名中抽取驱动器名

参数:FileName:要处理的文件名

例:ShowMessage(ExtractFileDrive("c://Winnt//SOL.EXE"));//显示"c:"

⑺ChangeFileExt()

原型:extern PACKAGE System::AnsiString __fastcall ChangeFileExt(const System::AnsiString FileName, const System::AnsiString Extension);

功能:更改文件名的扩展名,不是对真正的文件进行改名,只是对文件名这个字符串进行处理

参数:FileName:要改名的文件名,Extension:新的扩展名

例:ShowMessage(ChangeFileExt("c://Winnt//SOL.EXE",".OOO"));//显示"c:/winnt/SOL.OOO"

⑻ExpandUNCFileName()

原型:extern PACKAGE AnsiString __fastcall ExpandUNCFileName(const AnsiString FileName);

功能:返回含有网络驱动器的文件全路径,格式为://机器名/共享名/文件名

参数:FileName:要处理的文件名

例:ShowMessage(ExpandUNCFileName("F://Winnt//SOL.EXE"));/*如果F:是映射的网络驱动器,则显示"

⑼ExtractRelativePath()

原型:extern PACKAGE AnsiString __fastcall ExtractRelativePath(const AnsiString BaseName, const AnsiString DestName);

功能:从文件名中抽取相对路径信息,如"../sss/ss.asd"这种形式

参数:BaseName:基准文件名;DestName:目标文件名

例:ShowMessage(ExtractRelativePath("D://Source//c//1.123","D://Source//Asm//dz.asm"));/*显示"../asm/dz.asm"*/

⑽ExtractShortPathName()

原型:extern PACKAGE AnsiString __fastcall ExtractShortPathName(const AnsiString FileName);

功能:把文件名转换为DOS的8、3格式

参数:FileName:要处理的文件名

例:ShowMessage(ExtractShortPathName("E://Program Files//Dual Wheel Mouse//4dmain.exe"));/*显示"E:/Progra~1/dualwh~1/4dmain.exe"*/

⑾MatchesMask()

原型:extern PACKAGE bool __fastcall MatchesMask(const AnsiString Filename, const AnsiString Mask);

功能:检查文件是否与指定的文件名格式匹配

参数:FileName:要处理的文件名;Mask:文件名格式,支持通配符

例:ShowMessage(MatchesMask("Lxf.exe","*.?x?));//显示"true"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值