AGB  ·  Datenschutz  ·  Impressum  







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

Verzeichnisgröße ermitteln

Ein Thema von CalganX · begonnen am 30. Dez 2002 · letzter Beitrag vom 4. Nov 2004
Antwort Antwort
Seite 1 von 2  1 2      
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Verzeichnisgröße ermitteln

  Alt 30. Dez 2002, 13:24
Hi,
wie kann ich die Größe eines Verzeichnisses (inkl. Untervrezeichnisse) herausbekommen?

Chris
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2
  Alt 30. Dez 2002, 13:58
Delphi-Quellcode:
function GetDirSize(dir: string; subdir: Boolean): Longint;
var
  rec: TSearchRec;
  found: Integer;
begin
  Result := 0;
  if dir[Length(dir)] <> '\then dir := dir + '\';
  found := FindFirst(dir + '*.*', faAnyFile, rec);
  while found = 0 do
  begin
    Inc(Result, rec.Size);
    if (rec.Attr and faDirectory > 0) and (rec.Name[1] <> '.') and (subdir = True) then
      Inc(Result, GetDirSize(dir + rec.Name, True));
    found := FindNext(rec);
  end;
  FindClose(rec);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  label1.Caption := FloatToStr(GetDirSize('e:\download', False) / Sqr(1024)) + ' MBytes';
  label2.Caption := FloatToStr(GetDirSize('e:\download', True) / Sqr(1024)) + ' MBytes';
end;
Hoffe es funzt, aus SwissdelphiCeter
Alexander
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#3
  Alt 30. Dez 2002, 14:16
Stimmt und funzt...

Danke

Chris
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4
  Alt 30. Dez 2002, 15:37
Moin Zusammen,

und ich werd's einfach nicht müde darauf hinzuweisen

... (rec.Name[1] <> '.') ...

ist falsch.

Es muss

... (rec.Name <> '.') and (rec.Name <> '..') ...

lauten.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#5

Re: Verzeichnisgröße ermitteln

  Alt 7. Nov 2003, 10:28
hallo.
ich habe diesen source-code mal ausprobiert, aber bei mir meldet er immer den fehler "Ungültiges Zeichen in Eingabedatei:' '($A0)" beim compilieren.
habe ich eine unit vergessen?? oder habe ich irgendwo vergessen mein verzeichniss anzugeben??
thx im voraus
ninja
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Verzeichnisgröße ermitteln

  Alt 7. Nov 2003, 10:31
Hai ninja,

beim copy und paste sind da fehlerhafte Zeichen in deinen Editor gekommen.
Lösche mal die Leerzeichen am anfang jeder Zeile.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#7

Re: Verzeichnisgröße ermitteln

  Alt 7. Nov 2003, 10:34
stimmt.
danke, werd ich mir gleich hinter die ohren schreiben, damit sowas nicht nochmal passiert.
greetz ninja
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#8

Re: Verzeichnisgröße ermitteln

  Alt 8. Nov 2003, 10:07
hallo.
ich habe da noch mal eine frage dazu, und zwar möchte ich gerne die ausgelesene verzeichnissgröße
weiterverwenden und weitergeben z.B. zum Umrechnen oder an eine Progressbar als Max-Wert.
ich habe es auch schon versucht, bin aber an der Variablendeklaration gescheitert.
Probleme habe ich z.B. mit der Umwandlung der Variablen.
Ich weis nicht genau wann ich z.B. StrToInt oder IntToStr einsetzen muß.
Oder was ich überhaupt nehmen muß um die Werte weiterzugeben.
Vieleicht kann mir ja jemand helfen.
Thx im vorraus
ninja
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.152 Beiträge
 
Delphi 12 Athens
 
#9

Re: Verzeichnisgröße ermitteln

  Alt 8. Nov 2003, 10:22
1.
Delphi-Quellcode:
Var G: LongInt;

G := GetDirSize('e:\download', True);

{G enthält die Größe des Verzeichnisses (inkl. Untervrezeichnisse) in Byte}

2.
Delphi-Quellcode:
StrToInt: String => Integer
IntToStr: Integer => String
aus der OH:
Zitat:
IntToStr konvertiert den mit Value angegebenen Integer-Wert in einen String mit der dezimalen Darstellung der Zahl.
Zitat:
StrToInt konvertiert den in S angegebenen String in einen Integer-Wert. S muss die Entsprechung eines ganzzahligen Wertes (dezimal oder hexadezimal) sein. Enhält er keinen gültigen Wert, wird eine EConvertError-Exception ausgelöst.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
ninja

Registriert seit: 3. Mär 2003
90 Beiträge
 
Delphi 6 Personal
 
#10

Re: Verzeichnisgröße ermitteln

  Alt 8. Nov 2003, 11:27
danke funktioniert.
hab da noch eine frage dazu , wie bekomme ich diesen jetzt noch durch eine beliebige zahl geteilt, z.B. 600 KB/s, ich möchte nämlich die zeit ausrechnen und diese dann in der Progressbar ablaufen lassen.
gruß ninja
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 07:50 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