2010-05-06 9 views

Antwort

8

Sie können erhalten, was nach dem letzten Backslash kommt mit ExtractFileName, die in der SysUtils Einheit gefunden wird.

25

versuchen Sie mit der ExtractFileName Funktion, diese Funktion funktioniert nur (für Ihr Beispiel), wenn Ihr Pfad nicht mit einem Backslash finalisieren, so können Sie die ExcludeTrailingPathDelimiter Funktion verwenden, um den letzten Backslash zu entfernen.

sehen diese Probe

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. 

Check diesen Link für weitere Informationen

Path Manipulation Routines

+1

Ich weiß nie, dass ExtractFileName in einem Verzeichnis funktionieren würde. Perfekt. Danke. – philO

+0

+1 Ich hätte versucht, ExtractFilePath für Ordner und ExtractFileName für Dateien zu verwenden. –

0

direkt, dass die Zeichenfolge zu analysieren und Rück nur "Borland", Sie können dies tun:

uses SysUtils; 

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