2010-03-14 99 views
0

我想查找文件夾中有多少文件夾,或者我應該說有多少個子文件夾在文件夾中。那麼,我該怎麼做呢?查找文件夾

P.S.我用Delphi

回答

3

編程除了使用FindFirst招,你需要使用遞歸,如果要算樹中的所有文件夾(即所有級別),而不僅僅是眼前夾。

下面是遞歸方法的一個簡短例子,看起來正是你要找的。提示:Find()方法遞歸使用。

Recursive Search example at DelphiTricks.com

+0

不知道德爾福的技巧網站。謝謝。 +1 – lkessler 2010-03-19 21:39:50

0

你沒有提到你使用德爾福的版本。最新版本的IOUtils單元包含TDirectory類。在這裏看到一個例子:link text

+0

我使用Delphi 2007 – gedO 2010-03-14 15:10:46

1

這取決於你的編譯器版本。如果你使用的是Delphi 2010,我能想到的最簡單的代碼是:

uses IOUtils, Types; 

function GetSubDirCount(const Path: string): Cardinal; 
var 
    StrArray : TStringDynArray; 
begin 
    StrArray := TDirectory.GetDirectories(Path,'*',IOUtils.TSearchOption.soAllDirectories); 
    Result := Length(StrArray); 
end;