delphi 怎样获取文件名不带后缀

例如TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename现在表示是'科比.jpg'这个string格式的文件名... 例如TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename现在表示是 '科比.jpg' 这个string格式的文件名 展开
 我来答
热烈还鲜丽丶柠檬3831
2009-07-19 · TA获得超过455个赞
知道小有建树答主
回答量:426
采纳率:0%
帮助的人:346万
展开全部
小写了一个函数,取文件名的。

function GetFileName(str:string):string;
var
i:Integer;
x,y:string;
begin
x:=ExtractFileName(str); //取文件名+扩展名,不包含文件路径
y:=ExtractFileExt(str); //取文件的扩展名
i:=Pos(y,x); //确定扩展名所在位置
if i<>0 then
begin
Result:=Copy(x,0,i-1); //复制文件名,忽略掉后面的扩展名
end
else begin
Result:='';
end;
end;

使用的时候直接这样就行
GetFileName(TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename)
输出:科比
小藏刀
2009-07-19 · TA获得超过281个赞
知道小有建树答主
回答量:254
采纳率:0%
帮助的人:164万
展开全部
写一个for语句,从右往左,取出第一个“.”的位置<比如str="科比.jpg",取出“.”的位置x>,然后输出字符串味:str的第一个到第x个字符,即str[0]到str[x-1]。

这是我大致的思路。具体代码楼主应该可以写的出来。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96ffcf7
推荐于2018-03-29 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部
取文件名ExtractFileName(FileName);
取文件扩展名:ExtractFileExt(filename);
取文件名,不带扩展名Function ExtractFileNameNoExt(FileString: String): String;
Var
FileWithExtString: String;
FileExtString: String;
LenExt: Integer;
LenNameWithExt: Integer;
Begin
FileWithExtString := ExtractFileName(FileString);
LenNameWithExt := Length(FileWithExtString); FileExtString := ExtractFileExt(FileString); LenExt := Length(FileExtString);
If LenExt = 0 Then
Begin
Result := FileWithExtString;
End
Else
Begin
Result := Copy(FileWithExtString,1,(LenNameWithExt-LenExt));
End;
End;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cb120520025
2009-07-19 · TA获得超过347个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:573万
展开全部
ChangeFileExt(TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename,'');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式