关于获取文件名,不要文件格式 需要高手帮忙!!!! (10分)

  • 主题发起人 主题发起人 ali001
  • 开始时间 开始时间
A

ali001

Unregistered / Unconfirmed
GUEST, unregistred user!
abcd.html
aaa.xml
123456.rtf 等 文件名中怎么获取文件名,不要文件格式
如: abcd
aaa
123456 等
 
sFileName string;
sFileName := abcd.html

sFileName := copy(sFileName,1,Pos(sFileName,'.')-1);
 
把小数后边的给裁了
s:=pos('.',sname);
if s>0 then setlength(sname,s-1);
 
extractfilename('文件.xml')
 
FileExt := ExtractFileExt(MyFileName);
Delete(MyFileName, Length(MyFileName) - Length(FileExt)+1, Length(FileExt));
 
TourAn的方法如果碰到abd.dsa.xml就出问题了.
extractfilename函数是从带路径的字符串中取出文件全名吧.不是楼主所要的~
 
一个函数搞定
(需要users SysUtils)
原型:function ChangeFileExt(const FileName, Extension: string): string;

用法:
filename := 'abcd.html';
filename := ChangeFileExt(filename, '')
//用空字符串代替原来的扩展名,包括那个.号
//这时filename会变成abcd
 
CGN所说的extractfilename函数是系统自有的函数了,应当算是正解了.
当然如果担心诸如:"ttt.xxx.xxxx.xxx"之类的文件,可以用一个while循环来
判断,当发现两次调用返回相同时,就是"ttt"了.
 
其實可以配合Pos
Copy,就可以做到了。。。
 
同意太阳火的,只要文件名,不要路径就先用ExtractFileName,再用ChangeFileExt,否则就可以直接用ChangeFileExt
 
本人以前问过,上面的解答应该可以。
 
正宗做法就是 太阳火 的答案
 
恶意灌水 ,N长,被版主删除,暂时打入黑名单
 
后退
顶部