需要User   SysUtils

取文件名

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 文件目录相关的操作函数的更多相关文章

  1. (笔记)Linux内核中内存相关的操作函数

    linux内核中内存相关的操作函数 1.kmalloc()/kfree() static __always_inline void *kmalloc(size_t size, gfp_t flags) ...

  2. 网络驱动移植之net_device结构体及其相关的操作函数

    内核源码:Linux-2.6.38.8.tar.bz2 在Linux系统中,网络设备都被抽象为struct net_device结构体.它是网络设备硬件与上层协议之间联系的接口,了解它对编写网络驱动程 ...

  3. PHP文件相关的操作函数——目录操作

    1.有关文件类型的函数 PHP是以UNIX的文件系统为模型的,因此在Windows系统中我们只能获得“file”.“dir”或者“unknown”三种文件类型.而在UNIX系统中,我们可以获得“blo ...

  4. PHP文件相关的操作函数——文件操作

    1.文件的代开与关闭 1.1 fopen() 作用:该函数用于打开一个文件 具体使用访问:http://www.w3school.com.cn/php/func_filesystem_fopen.as ...

  5. 走进C标准库(8)——"string.h"中函数的实现相关字符串操作函数

    我的strcat: char *strcat(char *dest,char *src) { char * reval = dest; while(*dest) dest++; while(*src) ...

  6. JS 数组相关的操作函数

    // 1.数组拼接 concat() var a = [1, 2]; var b = [3, 4]; console.log(a.concat(b)); // [1, 2, 3, 4] // 2.数组 ...

  7. Qt中与文件目录相关操作

    一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...

  8. Runtime机制之结构体及操作函数

    一.动态语言 Objective-C语言是一门动态语言,它将很多静态语言在编译和链接时期做的事放到了运行时来处理.这种动态语言的优势在于:具有灵活性,比如:消息转发,方法交换等.它有一个运行时系统Ob ...

  9. Delphi文件操作函数

    文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...

随机推荐

  1. 数据仓库与ODS

    1. 引言 本篇主要讲述操作数据存储(ODS)系统产生的背景.定义.特点,以及它与数据仓库的区别.在前两篇,笔者介绍了什么是数据仓库?为什么需要数据仓库?数据仓库系统的体系结构是什么?因此可能在读者心 ...

  2. android 5.0安装应用冲突问题

    公司二款产品无法同时安装 为了查看原因 用adb命令安装((adb 命令要配置环境环境,path 盘符+adt-bundle-windows-x86-20140702\sdk\platform-too ...

  3. 十三篇系列:king转折点,wooga瓶颈,supercell营收结构

    转自:http://gamerboom.com/archives/95125 十三篇系列:king的历史转折点,wooga的瓶颈,supercell的营收结构 第一篇 这句话In other word ...

  4. ubuntu14.04安装telnet

    1.首先查看telnet运行状态 netstat -a | grep telnet 输出为空,表示没有开启该服务 2.安装openbsd-inetd apt-get install openbsd-i ...

  5. CRM 2016 刷新 Iframe

    在CRM中刷新IFame: /// <summary>刷新Iframe的内容,用于表单上刷新iframe里的内容</summary> var iframe = Xrm.Page ...

  6. h5标签兼容

    <!--[if lt IE 9]> <script src="//cdn.bootcss.com/respond.js/1.4.2/respond.js"> ...

  7. DQL完整语法及示例

    DQL:Data Query Language,数据查询语言,其实它也是DML(数据库操作语言的一种),下面看一看完整的语法: 注意,关键字建议大写,不带[ ]是必需的,带[ ]是可选的. SELEC ...

  8. 外网访问内网的FTP服务器-原理解析

    1. 背景简介 最近研究如何在内网搭架FTP服务器,同时要保证外网(公网)能访问的到.终成正果,但走了一些弯路,在此记下,以飨后人. 2. 基础知识 FTP 使用 2 个端口,一个数据端口和一个命令端 ...

  9. TableStore:创建SyncClient+getRow读取一行数据

    1.通过控制台或者客户端,在TableStore中新建了实例owlforest,在实例详情中获取到实例访问地址endPoint 2.新建表user,确定主键为userid(Interger)类型,因为 ...

  10. Apache服务器下phalcon项目报Mod-Rewrite is not enabled问题

    问题如图: 项目已经按照官网的教程修改了.htaccess文件,仍旧报此错误,判断可能是apache未添加mod_rewrite,通过查询资料,经以下两步解决此问题: 1.执行sudo a2enmod ...