Delphi 7 如何从路径中获取文件夹名称

14

我有一个路径,比如C:\Program Files\Borland,最简单的方法是解析该字符串并只返回Borland,你能告诉我怎么做吗?谢谢。

4个回答

31

尝试使用ExtractFileName函数,这个函数仅在路径末尾不是反斜杠时起作用(对于您的示例)。因此,您可以使用ExcludeTrailingPathDelimiter函数来移除最后的反斜杠。

看看这个示例:

program ProjectExtractPathDemo;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
    Path : string ;
begin
  Path:='C:\Program Files\Borland';
  Writeln(ExtractFileName(Path));//return Borland

  Path:='C:\Program Files\Borland\';
  Writeln(ExtractFileName(Path));//return ''

  Path:='C:\Program Files\Borland\';
  Writeln(ExtractFileName(ExcludeTrailingPathDelimiter(Path)));//return Borland


  Readln;
end.

查看此链接获取更多信息

路径操作例程


2
我从来不知道ExtractFileName可以用于目录。 太好了。 谢谢。 - philO
1
+1 我会尝试使用ExtractFilePath来处理文件夹,使用ExtractFileName来处理文件。 - user741875

8

您可以使用 SysUtils 单元中的 ExtractFileName 函数获取最后一个反斜杠后面的任何内容。


2
无论文件夹是否有尾随的反斜杠,此方法都适用:

ExtractFileName(ExcludeTrailingBackslash(Path))

1

如果您想要直接解析这个字符串并返回 "Borland",您可以这样做:

uses SysUtils;

Delete(Path, 1, LastDelimiter('\', Path));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接