delphi 怎样获取文件名不带后缀
例如TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename现在表示是'科比.jpg'这个string格式的文件名...
例如TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename现在表示是 '科比.jpg' 这个string格式的文件名
展开
4个回答
展开全部
小写了一个函数,取文件名的。
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)
输出:科比
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)
输出:科比
展开全部
写一个for语句,从右往左,取出第一个“.”的位置<比如str="科比.jpg",取出“.”的位置x>,然后输出字符串味:str的第一个到第x个字符,即str[0]到str[x-1]。
这是我大致的思路。具体代码楼主应该可以写的出来。
这是我大致的思路。具体代码楼主应该可以写的出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2018-03-29 · 知道合伙人互联网行家
关注
展开全部
取文件名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;
取文件扩展名: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;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ChangeFileExt(TIdAttachment(Msg.MessageParts.Items[intIndex]).Filename,'');
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询