Connaitre la taille d'un répertoire

function getdirsize (dir: string; subdir: boolean): longint;
var
rec: TSearchRec;
found: integer;

begin
result:=0;
if dir[length(dir)]<>'' then dir:=dir+'';
found:= findfirst(dir+'*.*', faAnyFile, rec);
while found=0 do begin
inc(result, rec.size);
if (rec.Attr and faDirectory > 0) and (rec.Name[1]<>'.') and (subdir=true)
then
inc(result, getdirsize(dir+rec.Name, true));
found:=findnext(rec);
end;
findclose(rec);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
label1.Caption:=FloatToStr(getdirsize('e:download', false)/sqr(1024)) + '
MBytes';
label2.Caption:=FloatToStr(getdirsize('e:download', true)/sqr(1024)) + '
MBytes';
end;
Ajouter un commentaire
Pseudo
Adresse email
Site internet (optionnel)
Votre commentaire
Fiche de l'article
Mise a jour16/11/2001
VisualisationVu 975 fois
PublicInternaute zz
CategorieDelphi - Trucs et astuces - Fichier
Auteur de l'article
SwissDelphiCenter SwissDelphiCenter
connecté le 02/11/2011
329 articles dans la section
Contacter l'auteur