gpt4 book ai didi

delphi - 计算文件夹内的文件夹数量

转载 作者:行者123 更新时间:2023-12-03 14:41:48 25 4
gpt4 key购买 nike

有人知道我可以用来计算指定目录中文件夹数量的代码吗?

最佳答案

据我所知,最简单的代码使用来自 IOUtils 单元的 TDirectory:

function GetDirectoryCount(const DirName: string): Integer;
begin
Result := Length(TDirectory.GetDirectories(DirName));
end;

TDirectory.GetDirectories 实际上返回一个包含目录名称的动态数组,因此效率有些低。如果您想要最有效的解决方案,那么您应该使用 FindFirst 进行枚举。

function GetDirectoryCount(const DirName: string): Integer;
var
res: Integer;
SearchRec: TSearchRec;
Name: string;
begin
Result := 0;
res := FindFirst(TPath.Combine(DirName, '*'), faAnyFile, SearchRec);
if res=0 then begin
try
while res=0 do begin
if SearchRec.FindData.dwFileAttributes and faDirectory<>0 then begin
Name := SearchRec.FindData.cFileName;
if (Name<>'.') and (Name<>'..') then begin
inc(Result);
end;
end;
res := FindNext(SearchRec);
end;
finally
FindClose(SearchRec);
end;
end;
end;

关于delphi - 计算文件夹内的文件夹数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7306355/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com