2010-05-06 3 views

ответ

8

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

25

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

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

Path Manipulation Routines

+1

Я никогда не знаю, ExtractFileName будет работать в каталоге. Perfect. Спасибо. – philO

+0

+1 Я бы попытался использовать ExtractFilePath для папок и ExtractFileName для файлов. – 2011-12-14 20:28:11

0

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

uses SysUtils; 

Delete(Path, 1, LastDelimiter('\', Path)); 
Смежные вопросы