2010-05-06 17 views

risposta

8

È possibile ottenere ciò che viene dopo l'ultima barra rovesciata con ExtractFileName, che si trova nell'unità SysUtils.

25

provare utilizzando la funzione di ExtractFileName, questa funzione è disponibile solo (per il vostro esempio) se il percorso non finalizza con un backslash, in modo da poter utilizzare la funzione ExcludeTrailingPathDelimiter per rimuovere la barra rovesciata finale.

vedono questo campione

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. 

controllo questo link per maggiori informazioni

Path Manipulation Routines

+1

Non so mai che ExtractFileName potrebbe funzionare su una directory. Perfetto. Grazie. – philO

+0

+1 Avrei provato ad utilizzare ExtractFilePath per le cartelle e ExtractFileName per i file. –

0

per analizzare direttamente la stringa e proprio ritorno "Borland", si può fare questo:

uses SysUtils; 

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