微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

文件

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"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐