| Главная | |
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. |