2010-03-14 119 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;