Merhaba arkadaşlar;
Bir klasörün boyutunu nasıl bulabilirim.İlk önce aklıma klasördeki dosyaları listelemek ve onların boyutlarını bulup hepsini toplamak geldi aklıma ama klasörün içinde klasör olma ihtimalide göze alınca iş biraz sarpa sarıyor
Bunu kolay yoldan yapmamızın bir yolu varmı delphi'de ?
Klasör boyutu
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
bunu kullanabilirsin~~~~~~~~~~~~~~~~~~~~~~~~~
var
DirBytes : integer;
function FolderSize(Dir:string):integer;
var
SearchRec : TSearchRec;
Separator : string;
begin
Result:=0;
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;
end else if DirectoryExists(Dir+Separator+SearchRec.Name) then begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then begin
FolderSize(Dir+Separator+SearchRec.Name) ;
end;
end;
while FindNext(SearchRec) = 0 do begin
if FileExists(Dir+Separator+SearchRec.Name) then begin
DirBytes := DirBytes + SearchRec.Size;
end else if DirectoryExists(Dir+Separator+SearchRec.Name) then
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') then begin
FolderSize(Dir+Separator+SearchRec.Name) ;
end;
end;
end;
end;
FindClose(SearchRec) ;
Result:=DirBytes;
end;
