Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   HDD Size/Free unter Win98SE (https://www.delphipraxis.net/37478-hdd-size-free-unter-win98se.html)

Garfield 6. Jan 2005 12:42


HDD Size/Free unter Win98SE
 
Ich arbeite mit Delphi 3 Professional und möchte bei mehreren Festplatten/Partitionen die Gesamtgröße und die Größe des freien Platzes ermitteln. Dazu habe ich verschiedene Routinen ausprobiert, wobei ich bisher nur mit Sakuras Drive Info zumindest teilweise zum Ziel gekommen bin. Das bedeutet, unter WinXP erhalte ich die gewünschten Informationen. Unter Win98SE sind die FAT-Partitionen/Laufwerke max 1,97 GB groß. Die NTFS-Partitionen/Laufwerke sind unsinnig klein, was allerdings relativ unwichtig ist.

Ist es möglich, die Unit auch unter Win98SE zum Laufen zu bekommen?

tommie-lie 6. Jan 2005 13:17

Re: HDD Size/Free unter Win98SE
 
Hast du auch Christians Einwand bezüglich GetDiskFreeSpace() beachtet?
Zitat:

Zitat von PSDK
The GetDiskFreeSpace function cannot report volume sizes that are greater than 2 GB. To ensure that your application works with large capacity hard drives, use the GetDiskFreeSpaceEx function.


Garfield 6. Jan 2005 15:22

Re: HDD Size/Free unter Win98SE
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von tommie-lie
Hast du auch Christians Einwand bezüglich GetDiskFreeSpace() beachtet?

Und für welche Betriebssysteme gilt dieser Einwand? 3.1, 95, 98, 98SE, ME, 2000, XP, ...? Unter WinXP funktioniert es jedenfalls. :(

Ich habe mal zwei Bilder angehängt.

Mit der Routine auf http://bdn.borland.com/article/0,1410,17552,00.html sollte es gehen. Tut es jedoch nicht. Nicht einmal mit D7PE.

Wenn es nicht mit D3 und unter Win98SE geht, gibt es denn irgendeine Alternative?

tommie-lie 6. Jan 2005 16:40

Re: HDD Size/Free unter Win98SE
 
GetDiskFreeSpace, ganz unten unter "Remarks".

Garfield 6. Jan 2005 17:41

Re: HDD Size/Free unter Win98SE
 
Dann habe ich also ein wenig Pech. :cry:

Luckie 6. Jan 2005 18:01

Re: HDD Size/Free unter Win98SE
 
Delphi 3 kennt noch kein Int64. wenn du bei deiner Multiplikation darüber hinausscheißt, kommt es zu einem Überlauf.

Garfield 6. Jan 2005 20:06

Re: HDD Size/Free unter Win98SE
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von Luckie
Delphi 3 kennt noch kein Int64.

:? Das kommt bei dieser Routine aber doch nicht zum Tragen. In Sakura's Routine wird Cardinal verwendet. Für Delphi 3 musste ich wegen GetDiskFreeSpace die Variblen FBytesPerSector, FNumberOfFreeClusters, FSectorsPerCluster und FTotalNumberOfClusters von Cardinal auf LongInt ändern. FNumberOfUsedClusters blieb Cardinal. Und unter WinXP funktioniert es ja. Bei Win98SE stimmt die Anzahl der Cluster und die Sektoren je Cluster nicht. Wenn es nur an der Multiplikation hinge, wäre es ja nicht schlimm. Dann könnte man was ändern.

Wenn Int64 ginge könnte ich DiskSize und DiskFree nehmen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:10 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