一个字符串分隔问题!

hnflavor 2005-03-25 05:34:48
C:\windows\system\aaa.exe

这是用OpenDailog得到的文件路径!
字符长度不确定,而且目录数也不确定,

我现在要分离成C:\windows\system\ 和 aaa.exe
怎么办?
...全文
123 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
smiler007 2005-03-28
  • 打赏
  • 举报
回复
ExtractFilePath();
ExtractFileName();
elilor 2005-03-28
  • 打赏
  • 举报
回复
Delphi有现成的
ExtractFilePath('C:\windows\system\aaa.exe');
ExtractFileName('C:\windows\system\aaa.exe');
merkey2002 2005-03-25
  • 打赏
  • 举报
回复
其实挺简单,不过既然有人写好了,就收藏啦
surdon 2005-03-25
  • 打赏
  • 举报
回复
收集的


////////////////////////////////////////////////////////////////////////
// 包括文件名的路径名中分离出目录名和文件名.
function MPathAndFile(const strFull: String; var strPath, strName: String): Boolean;
var
iCnt, iPos : Integer;
begin
iPos := -1;
for iCnt := 1 to Length(strFull) do begin
if strFull[iCnt] = '\' then iPos := iCnt;
end;
if iPos <> -1 then begin
strPath := Copy(strFull, 1, iPos);
strName := Copy(strFull, iPos+1, Length(strFull)-iPos);
Result := True;
end
else Result := False;
end;

////////////////////////////////////////////////////////////////////////
// 从文件名中分离出名称和扩展名.
function MNameAndExt(const strFull: String; var strName, strExt: String): Boolean;
var
iCnt, iPos : Integer;
begin
iPos := -1;
for iCnt := 1 to Length(strFull) do begin
if strFull[iCnt] = '.' then iPos := iCnt;
end;
if iPos <> -1 then begin
strName := Copy(strFull, 1, iPos-1);
strExt := Copy(strFull, iPos+1, Length(strFull)-iPos);
Result := True;
end
else Result := False;
end;
chijingde 2005-03-25
  • 打赏
  • 举报
回复
rightstr

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧