取文件名

ExtractFileName(FileName);

取文件扩展名:

ExtractFileExt(filename);

取文件名,不带扩展名:

方法一:

  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'):返回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"

Delphi获取文件名、文件名不带扩展名、文件名的方法;delphi 获取文件所在路径的更多相关文章

  1. Delphi获取文件名、不带扩展名文件名、文件所在路径、上级文件夹路径的方法

    1.获取不带扩展名的文件名方法,利用ChangeFileExt函数修改传入参数的扩展为空,并不会对文件本身产生变更. ChangeFileExt(ExtractFileName('D:\KK\Test ...

  2. delphi下如何获得不带扩展名的文件名?

    Edit1.Text:=ChangeFileExt(ExtractFileName(Application.ExeName),'') ; //获取到应用程序名后,将后缀名清空就可以啦.

  3. PHP中获取当前页面的完整URL、PHP URL处理、获取不带扩展名的文件名

    javascript实现: top.location.href 顶级窗口的地址this.location.href 当前窗口的地址 PHP实现 #测试网址: http://localhost/blog ...

  4. PHP获取文件扩展名的多种方法

    PHP获取文件扩展名的N种方法. 第1种方法: function get_extension($file) { substr(strrchr($file, '.'), 1): } 第2种方法: fun ...

  5. PHPExcel生成Excel文件---提示导出文件或者文件扩展名不一致,或导出的文件或文件扩展名无效

    $data = Db::name('shop_cart')->where('phone','15555555555')->select(); $objPHPExcel = new PHPE ...

  6. Delphi XE的firemonkey获取当前文件所在路径的方法

    Delphi XE的firemonkey获取当前文件所在路径的方法 在之前,我们知道有三种方法: ExtractFilePath(ParamStr(0)) ExtractFilePath(Applic ...

  7. java 获取class文件所在路径

      java 获取class文件所在路径 CreateTime--2017年11月14日15:14:32 Author:Marydon 1.获取class文件所在路径(磁盘路径.绝对路径) // 获取 ...

  8. MVC小系列(二十一)【带扩展名的路由可能失效】

    mvc3之后:如果路由带上扩展名,比如这样: public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRout ...

  9. 扩展名为DBF的是什么文件啊?

    扩展名为DBF的文件: .dbf文件是dBase和FoxPro所使用的数据库格式,在没有这两种软件的情况下,可以使用Excel打开文件.在Excel的“打开”文件的对话框中,选择文件类型为“dBase ...

随机推荐

  1. 启动zookeeper时,jps显示有进程,但是status查看状态时就Error contacting service. It is probably not running

    转自:http://www.cnblogs.com/xiaohua92/p/5460515.html#undefined 安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error c ...

  2. [转][Dapper]SQL 经验集

    condition.Append(" AND ChineseName like @name"); p.Add("@name", "%" + ...

  3. python + docker, 实现天气数据 从FTP获取以及持久化(三)-- python获取FTP数据

    前言 经过前面两个小节的介绍,我们已经完成了MySQL数据库的搭建和数据库操作的事宜. 在本小节中,我们需要完成的任务是:使用python从FTP服务其上面获取文本文件. 搭建测试FTP服务器 LZ的 ...

  4. [Python] String strip() Method

    Description The method strip() returns a copy of the string in which all chars have been stripped fr ...

  5. 好记性不如烂笔头-linux学习笔记6keepalived实现主备操作

    Keepalived的作用是检测服务器的状态,如果有一台web服务器宕机,或工作出现故障,Keepalived将检测到,并将有故障的服务器从系统中剔除,同时使用其他服务器代替该服务器的工作,当服务器工 ...

  6. 控制 TextBox 的滚动条

    利用 EM_LINESCROLL 信息控制 TextBox 的卷动. 在含有卷动轴的 TextBox 中, 如何以程序控制 TextBox 的卷动? 传送 EM_LINESCROLL 信息给 Text ...

  7. iframe 元素会创建包含另外一个文档的内联框架(即行内框架)

    HTML 与 XHTML 之间的差异 在 HTML 4.1 Strict DTD 和 XHTML 1.0 Strict DTD 中,不支持 iframe 元素. 提示和注释: 提示:您可以把需要的文本 ...

  8. Excel VBA入门(八)单元格边框

    本文基于以下文件 http://pan.baidu.com/s/1nvJtsu9 (部分)内容预览: 1. 边框样式 Sub cell_format() Dim sht As Worksheet Di ...

  9. IDEA00 IDEA知识点汇总

    一.从头搭建IDEA开发环境 https://mp.weixin.qq.com/s/6jXHzkU8JfubhDsQJbwl8Q 1 下载最新版IDEA 1.1 官网下载安装 1.2 专业版激活 2 ...

  10. nSum “已知target再求和”类型题目总结:n-2重循环+left/right

    Sum类的题目一般这样: input: nums[], target output: satisfied arrays/ lists/ number 拿到题目,首先分析: 1. 是几个数的sum 2. ...