2010-05-06 62 views

Trả lời

8

Bạn có thể nhận bất kỳ điều gì xảy ra sau dấu gạch chéo ngược cuối cùng với ExtractFileName, được tìm thấy trong đơn vị SysUtils.

25

thử sử dụng chức năng ExtractFileName, chức năng này chỉ hoạt động (ví dụ) nếu đường dẫn không hoàn thành bằng dấu gạch chéo ngược, vì vậy bạn có thể sử dụng hàm ExcludeTrailingPathDelimiter để xóa dấu gạch chéo ngược cuối cùng.

xem mẫu này

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. 

kiểm tra liên kết này để biết thêm

Path Manipulation Routines

+1

Tôi không bao giờ biết ExtractFileName sẽ hoạt động trên một thư mục. Hoàn hảo. Cảm ơn. – philO

+0

+1 Tôi đã cố gắng sử dụng ExtractFilePath cho các thư mục và ExtractFileName cho các tệp. –

0

Trực tiếp phân tích chuỗi đó và chỉ trở về "Borland", bạn có thể làm điều này:

uses SysUtils; 

Delete(Path, 1, LastDelimiter('\', Path)); 
Các vấn đề liên quan