Delphi3: DiskFree und DiskSize

hi,
brauche dringend diese beiden funktionen.
bei einer 800mb partition funktionieren sie, bei einer 8gb partition kommen nur müllige werte bzw. 0 raus. wer kann mir bitte helfen? ich möchte nur ungern eine andere delphi version verwenden.
ciao chris

Hallo Chris,

versuche es mal mit folgender Funktion:

GetDiskFreeSpace(PChar(root), SectorsPerCluster,
BytesPerSector, NumberOfFreeClusters,
TotalNumberOfClusters);

Die entsprechenden Variablen musst Du vorher wie folgt deklarieren:

var
root:string;
SectorsPerCluster,
BytesPerSector,
NumberOfFreeClusters,
TotalNumberOfClusters : DWORD;
Frei, gesamt:double;

Die Variable root enthält das Laufwerk mit :, also z.B.
root:=‚c:‘;

Dann kannst Du den freien Speicher mit folgender Formel berechnen:
frei:=SectorsPerCluster*BytesPerSector;
frei:=frei*NumberOfFreeClusters;

und den gesamten Speicher:
gesamt:=SectorsPerCluster*BytesPerSector;
gesamt:=Gesamt*TotalNumberOfClusters;

Ich hoffe, das funktioniert unter Delphi3, ich konnte es bei mir nicht testen, da ich Delphi 5 benutze…

Viel Erfolg

cr

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Danke schön!
hi christian,
ich werds gleich mal probieren. sag mal, wo hast du denn das her? hast du eine internet/buch empfehlung?
tschüs chris

hi christian,
ich werds gleich mal probieren. sag mal, wo hast du denn das
her? hast du eine internet/buch empfehlung?
tschüs chris

Hm…wenn Du nach Komponenten suchst, dann kann ich dir www.torry.net empfehlen. Und wenn Du Source-Code-Bespiele suchst, dann versuche es mal bei www.swissdelphicenter.com

Eine Buchempfehlung wäre z.B. „Delphi 5 - Kochbuch“ erschienen beim Hanser-Verlag.

Weiterhin viel Erfolg…:smile:

Christian