AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Grösse von Verzeichnissen bestimmen

Ein Thema von Ajin · begonnen am 3. Nov 2006 · letzter Beitrag vom 3. Nov 2006
Antwort Antwort
Ajin

Registriert seit: 23. Feb 2006
Ort: Mons
252 Beiträge
 
Delphi 2010 Professional
 
#1

Grösse von Verzeichnissen bestimmen

  Alt 3. Nov 2006, 08:05
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?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Grösse von Verzeichnissen bestimmen

  Alt 3. Nov 2006, 08:22
Da hatten wir doch erst. Entweder nimmst du die API-Funktion SHFileoperationSHFileoperation oder du suchst dir mit FindFirstFindFirst / FindNextFindNext alle Dateien und summierst die Dateigrößen.

Oder, so habe ich es mal gemacht, du zählst nur die Ordner (der ersten Ebene): http://www.michael-puff.de/dirindex....phi/Sonstiges/ -> MpuDriveTools.pas
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Steve
Steve

Registriert seit: 2. Mär 2004
Ort: Würzburg
730 Beiträge
 
Delphi 2006 Personal
 
#3

Re: Grösse von Verzeichnissen bestimmen

  Alt 3. Nov 2006, 08:27
Zitat von Ajin:
...In diesem Sinne möchte ich die Grösse der zu kopierenden Verzeichnisse (inkl. unterordner) bestimmen. ...
Hi,

eine (weitere) Möglichkeit wäre:

Delphi-Quellcode:
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;
Gruß
Stephan
Stephan B.
Wer andern eine Grube gräbt ist Bauarbeiter!
Wer im Glashaus sitzt, sollte sich lieber im Dunkeln ausziehen!
Außerdem dieser Satz kein Verb...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Grösse von Verzeichnissen bestimmen

  Alt 3. Nov 2006, 08:56
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.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz