Einzelnen Beitrag anzeigen

jziersch

Registriert seit: 9. Okt 2003
Ort: München
251 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Belegter Speicherplatz von Verzeichnissen ermitteln?

  Alt 24. Mär 2022, 16:32
Die einzelnen Dateien mit FileSize auslesen und zusammenzählen ist recht langsam und mit Subdirs wird es noch langsamer.
So kann man es machen:
Code:
function DirSize( path : String ) : Int64;
var sr: TSearchRec;
begin
      path := IncludeTrailingPathDelimiter(path);
      Result := 0;
      if FindFirst( path  + '*.*', faAnyFile, sr) = 0 then
      try
          repeat
              if (sr.Attr and faDirectory)=faDirectory then
              begin
                 if (sr.Name<>'') and (sr.Name<>'.') and (sr.Name<>'..') then
                    Result := Result + DirSize(path + sr.Name );
              end
              else Result := Result + sr.Size;
          until FindNext(sr) <> 0;
      finally
          FindCLose(sr);
      end;
end;
WPCubed GmbH
Komponenten für Delphi:
WPTools, wPDF, WPViewPDF
  Mit Zitat antworten Zitat