![]() |
Ordnergröße ermitteln
Erstma: Hi @ all!!! :hello: :hello: :hello:
Nun gleich zu meiner Frage: Wie kann man von einem Ordner dessen Größe auslesen??? Ich dachte, dass es reicht aus einem TSerachRec einfach die Eigenschaft Size zu nehmen und fertig. Für jede Hilfe schon jetzt großes Danke! :mrgreen: :mrgreen: :mrgreen: |
Re: Ordnergröße ermitteln
den Ordner durchgehen und wenn searchrec.Attr and FILE_ATTRIBUTE_DIRECTORY = 0 dann in einer variable zusammenzählen
edit:
Delphi-Quellcode:
function GetFolderSize(Path: string): string;
var f: TSearchRec; tmp: Int64; const sFormat = '%.2n MB'; begin tmp := 0; Path := IncludeTrailingPathDelimiter(Path); if DirectoryExists(path) then begin FindFirst(Path + '*.*', faAnyFile, f); repeat if (f.Attr and FILE_ATTRIBUTE_DIRECTORY = 0) then tmp := tmp + f.Size; until FindNext(f) <> 0; FindClose(f); end; Result := Format(sFormat, [(tmp / 1024) / 1024]); end; |
Re: Ordnergröße ermitteln
Schaue Dir mal diesen
![]() |
Re: Ordnergröße ermitteln
Vorsicht!
Der verlinkte Code enthält einen klassischen Fehler: config folder (z.B. .borland) werden übergangen. Darüberhinaus muss man sich bewusst sein, dass der tatsächlich belegte Plattenplatz mitunter deutlich umfangreicher als die ermittelte size ist. Grüße vom marabu |
Re: Ordnergröße ermitteln
Ein weiteres Problem:
Bei Verzeichnissen mit mindestens 2 GByte Inhalt liefert die Funktion wegen des unzureichenden Ergebnistyps falsche Werte. Für Delphi 2006 reicht es aus, den Typ von Longint auf Int64 abzuändern, da Borland die Struktur TSearchRec angepaßt hat. In älteren Versionen werden Dateigrößen ab 2 GByte nicht richtig verarbeitet. Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz