Einzelnen Beitrag anzeigen

Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
711 Beiträge
 
Delphi XE5 Professional
 
#8

AW: Belegter Speicherplatz von Verzeichnissen ermitteln?

  Alt 24. Mär 2022, 16:19
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;
Nur eine kleine Korrektur: Anstelle von
Delphi-Quellcode:
  Finally
    FindClose(sr);
  End;
solltest Du einen qualifizierten Bezeichner verwenden, weil es FindClose auch in Winapi.Windows gibt und der Compiler u. U. ins Stocken gerät...
Delphi-Quellcode:
  Finally
    System.SysUtils.FindClose(sr);
  End;
Viele Grüße, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat