2015-09-07 27 views

回答

9

有幾種不同的方式:

  1. 可以使用FindFirst()FindNext()功能在System.SysUtils單元。

    uses 
        ..., SysUtils; 
    
    var 
        sr: TSearchRec; 
    begin 
        if FindFirst('C:\folders\*.txt', faAnyFile, sr) = 0 then 
        try 
        repeat 
         if (sr.Attr and faDirectory) = 0 then 
         begin 
         // use sr.Name as needed... 
         end; 
        until FindNext(sr) <> 0; 
        finally 
        FindClose(sr); 
        end; 
    end; 
    
  2. ,如果你使用的是德爾福2010或更高版本,可以使用TDirectory類的GetFiles()方法在System.IOUtils單元。

    uses 
        ..., System.IOUtils; 
    
    var 
        files: TStringDynArray; 
        filename: string; 
    begin 
        files := TDirectory.GetFiles('C:\Folder', '*.txt'); 
        for filename in files do 
        begin 
        // use filename as needed... 
        end; 
    end; 
    
+0

這是代碼德爾福7或8,因爲我沒有System.IOUtils –

+0

德爾福8是.NET預覽。你沒有提到你的問題中的Delphi版本。 –

+0

是的,即時通訊對不起,它只是跳過我的腦海 –

相關問題