能否明确的告诉我:获得文件夹大小是否只能通过遍历下面的文件大小的累加得到?还有没有快点的获得方式...

hehaa 2003-08-22 03:10:22
能否明确的告诉我:

获得文件夹大小是否只能通过遍历下面的文件大小的累加得到?

还有没有快点的获得方式...????

难道那种计算方式是获得文件夹大小的唯一?????????
...全文
26 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
2312 2003-10-06
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/topic/2301/2301162.xml?temp=.5224573
hailang_zh 2003-08-22
  • 打赏
  • 举报
回复
好像目前只有这样,给你一个函数

function GetDirectorySize(const ADirectory: string): Integer;
var
Dir: TSearchRec;
Ret: integer;
Path: string;
begin
Result := 0;
Path := ExtractFilePath(ADirectory);
Ret := Sysutils.FindFirst(ADirectory, faAnyFile, Dir);
if Ret <> NO_ERROR then exit;
try
while ret = NO_ERROR do
begin
inc(Result, Dir.Size);
if (Dir.Attr in [faDirectory]) and (Dir.Name[1] <> '.') then
Inc(Result, GetDirectorySize(Path + Dir.Name + '\*.*'));
Ret := Sysutils.FindNext(Dir);
end;
finally
Sysutils.FindClose(Dir);
end;
end;
bluenightsky 2003-08-22
  • 打赏
  • 举报
回复
恐怕只能这样了:)
DWGZ 2003-08-22
  • 打赏
  • 举报
回复
用线程最快
票票飞扬 2003-08-22
  • 打赏
  • 举报
回复
说对了。
sy_315 2003-08-22
  • 打赏
  • 举报
回复
我有递归算法算,比较快~
email:sy_315@163.com

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧