Главная |
Delphi |
WinAPI
Как подсчитать занимаемое директорией местоВозвращается размер в байтах. var dirbytes : integer; function TFileBrowser.DirSize(dir:string):integer; var searchrec : TSearchRec; separator : string; begin if Copy(dir,Length(dir),1)='' then separator := '' else separator := ''; if FindFirst(dir+separator+'*.*',faanyfile,searchrec) = 0 then begin if FileExists(dir+separator+searchrec.name) then begin dirbytes := dirbytes + searchrec.size; {Memo1.Lines.Add(dir+separator+searchrec.name);} end else if DirectoryExists(dir+separator+searchrec.name) then begin if (searchrec.name<>'.') and (searchrec.name<>'..') then begin DirSize(dir+separator+searchrec.name); end; end; while FindNext(searchrec) = 0 do begin if FileExists(dir+separator+searchrec.name) then begin dirbytes := dirbytes + searchrec.size; {Memo1.Lines.Add(dir+separator+searchrec.name);} end else if DirectoryExists(dir+separator+searchrec.name) then begin if (searchrec.name<>'.') and (searchrec.name<>'..') then begin dirsize(dir+separator+searchrec.name); end; end; end; end; FindClose(searchrec); end; |
|
||
Copyright (c) Авраменко С. Н. 2008. |