Klasör boyutu

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
RC1
Üye
Mesajlar: 9
Kayıt: 30 Eyl 2007 10:31

Klasör boyutu

Mesaj gönderen RC1 »

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 ?
Jire
Üye
Mesajlar: 167
Kayıt: 07 Eki 2007 01:20

Mesaj gönderen Jire »

~~~~~~~~~~~~~~~~~~~~~~~~~
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;
bunu kullanabilirsin :)
Cevapla