Ir al contenido


Foto

[TRUCOS DELPHI] Tamaño del Directorio / Carpeta.


  • Por favor identifícate para responder
No hay respuestas en este tema

#1 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 mensajes
  • Location127.0.0.1

Escrito 24 agosto 2016 - 11:05

[TRUCOS DELPHI] Tamaño del Directorio / Carpeta.


delphi
  1. function GetDirSize (dir: string; subdir: boolean): longint;
  2. var
  3. rec: TSearchRec;
  4. found: integer;
  5. begin
  6. result:=0;
  7. if dir[length(dir)]<>'\' then dir:=dir+'\';
  8. found:= findfirst(dir+'*.*', faAnyFile, rec);
  9. while found=0 do
  10. begin
  11. inc(result, rec.size);
  12. if (rec.Attr and faDirectory > 0) and (rec.Name[1]<>'.') and
  13. (subdir=true) then
  14. inc(result, getdirsize(dir+rec.Name, true));
  15. found:=findnext(rec);
  16. end;
  17. findclose(rec);
  18. end;

Ejemplo de uso:


delphi
  1. procedure TForm1.Button1Click(Sender: TObject);
  2. begin
  3. label1.Caption := FloatToStr(GetDirSize('c:\download', false)/sqr(1024)) +
  4. ' MBytes';
  5. label2.Caption := FloatToStr(GetDirSize('c:\download', true)/sqr(1024)) +
  6. ' MBytes';
  7. end;

Saludos!


  • 1




IP.Board spam blocked by CleanTalk.