加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi 文件目录相关的操作函数

发布时间:2020-12-15 09:56:12 所属栏目:大数据 来源:网络整理
导读:取文件名 ExtractFileName(FileName); 取文件扩展名: ExtractFileExt(filename); 取文件名,不带扩展名: 方法一: ? [delphi] ? view plain ?copy ? Function?ExtractFileNameNoExt(FileString:?String):?String;?? Var?? ??FileWithExtString:?String;??

取文件名

ExtractFileName(FileName);

取文件扩展名:

ExtractFileExt(filename);

取文件名,不带扩展名:

方法一:

?

[delphi]? view plain ?copy
?
  1. Function?ExtractFileNameNoExt(FileString:?String):?String;??
  2. Var??
  3. ??FileWithExtString:?String;??
  4. ??FileExtString:?String;??
  5. ??LenExt:?Integer;??
  6. ??LenNameWithExt:?Integer;??
  7. Begin??
  8. ??FileWithExtString?:=?ExtractFileName(FileString);??
  9. ??LenNameWithExt????:=?Length(FileWithExtString);??FileExtString?????:=?ExtractFileExt(FileString);???LenExt????????????:=?Length(FileExtString);??
  10. ??If?LenExt?=?0?Then???
  11. ?????Begin??
  12. ???????Result?:=?FileWithExtString;??
  13. ?????End??
  14. ?????Else??
  15. ??????Begin??
  16. ???????Result?:=?Copy(FileWithExtString,1,(LenNameWithExt-LenExt));???
  17. ??????End;??
  18. ?End;??

方法二:

?

ChangeFileExt(ExtractFileName(Application.ExeName),‘‘)

?

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

?

?

//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‘):返回TestRelativePathSysUtils.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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读