Delphi 7 получает имя папки из пути - PullRequest
12 голосов
/ 06 мая 2010

У меня есть путь, скажем C: \ Program Files \ Borland Что бы поспорить, самый простой способ разобрать эту строку и просто вернуть Borland? спасибо

Ответы [ 4 ]

28 голосов
/ 06 мая 2010

попробуйте использовать функцию 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.

проверьте эту ссылку для получения дополнительной информации

Процедуры манипулирования путями

8 голосов
/ 06 мая 2010

Вы можете получить все, что придет после последнего обратного слеша, с помощью ExtractFileName, который находится в модуле SysUtils.

1 голос
/ 13 ноября 2018

Это будет работать на всех папках, независимо от того, имеет ли она обратную косую черту:

ExtractFileName(ExcludeTrailingBackslash(Path))
1 голос
/ 07 мая 2010

Чтобы непосредственно проанализировать эту строку и просто вернуть «Borland», вы можете сделать это:

uses SysUtils;

Delete(Path, 1, LastDelimiter('\', Path));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...