![]() |
Grösse von Verzeichnissen bestimmen
Guten Morgen!
Ich versuche immernoch Verzeichnisse mit einer Progressbar zu kopieren. In diesem Sinne möchte ich die Grösse der zu kopierenden Verzeichnisse (inkl. unterordner) bestimmen. Delphi bringt für Dateioperationen iniges mit, aber bei Verzeihnissen siehts da meines wissens mau aus. Laut Suchfunktion gabs nur einen Beitrag mit einer selbst gestrickten GetVerzeihnisGr Funktion welche aber nicht richtig funktioniert. Man könnte ja alle Dateien zählen die sich in sämtlichen unterordnern befinden und die Summe aufaddieren. Gibts da nix eleganteres? Wie bestimmt ihr die Grösse eine Verzeichnisses? |
Re: Grösse von Verzeichnissen bestimmen
Da hatten wir doch erst. Entweder nimmst du die API-Funktion
![]() ![]() ![]() Oder, so habe ich es mal gemacht, du zählst nur die Ordner (der ersten Ebene): ![]() |
Re: Grösse von Verzeichnissen bestimmen
Zitat:
eine (weitere) Möglichkeit wäre:
Delphi-Quellcode:
Gruß
uses
ComObj; Function FolderSize(FolderName: STRING) : DWORD; var fldr, fso : OleVariant; begin fso := CreateOleObject('Scripting.FileSystemObject'); fldr := fso.GetFolder(FolderName); result := fldr.size; // In Bytes end; Stephan :dance: |
Re: Grösse von Verzeichnissen bestimmen
Die Idee ist gut. Allerdings sollte man das in einem Thread auslagern, da es bei größeren Verzeichnissen etwas dauern kann. Desweiteren sollte der Rückgabewert Int64 sein, sonst bekommst du Probleme mit Ordern über 2GB.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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-2025 by Thomas Breitkreuz