Laufwerkskapazitäten

Für allgemeine Fragen zur Programmierung mit PureBasic.
Jogi
Beiträge: 3
Registriert: 14.10.2004 09:08

Laufwerkskapazitäten

Beitrag von Jogi »

Hallo,

wie kann ich mit PureBasic beispielsweise die Kapazität einer eingelegten CD herausfinden und wie viel Platz auf dem Medium schon belegt ist?

Danke schon mal im Voraus,

Daniel
Benutzeravatar
Deeem2031
Beiträge: 1232
Registriert: 29.08.2004 00:16
Wohnort: Vorm Computer
Kontaktdaten:

Beitrag von Deeem2031 »

Code: Alles auswählen

Debug GetDiskFreeSpaceEx_("C:",FreeBytesAvailable.ULARGE_INTEGER,TotalNumberOfBytes.ULARGE_INTEGER,TotalNumberOfFreeBytes.ULARGE_INTEGER)
Debug FreeBytesAvailable\LowPart
Debug FreeBytesAvailable\HighPart
Debug TotalNumberOfBytes\LowPart
Debug TotalNumberOfBytes\HighPart
Debug TotalNumberOfFreeBytes\LowPart
Debug TotalNumberOfFreeBytes\HighPart
Hab nur grad keine Proc parat die dir das ganze als String-Zahl ausgibt..
Bild
[url=irc://irc.freenode.org/##purebasic.de]irc://irc.freenode.org/##purebasic.de[/url]
Benutzeravatar
MLK
Beiträge: 267
Registriert: 01.11.2004 13:17
Wohnort: Hamburg

Beitrag von MLK »

wenn es nur um eine cdrom geht, dann kann man ruhig longs verwenden. problem ist, dass nicht die cd selber untersucht wird, sondern das laufwerk.

Code: Alles auswählen

*Buffer=AllocateMemory($FF)   
For i=0 To GetLogicalDriveStrings_($FF,*Buffer) Step 4
    CDROM.s=PeekS(*Buffer+i,4)
    If GetDriveType_(@CDROM)=#DRIVE_CDROM
        Break
    EndIf
Next
        
GetDiskFreeSpaceEx_(CDROM,0,@TotalSpace,@FreeSpace)
Debug CDROM
Debug Str(FreeSpace)+" Bytes free"
Debug Str(TotalSpace)+" Bytes total"
da hilft wohl nur noch, von einer 700er auszugehen und den belegten speicher selber zusammenzuzählen.
Benutzeravatar
jear
Beiträge: 288
Registriert: 17.10.2004 01:59
Wohnort: Ammerland

LongValuesString

Beitrag von jear »

Wer will, kann sich hier gerne eine PureLibrary herunterladen (14KB) die diese Aufgabe erledigt.
Dabei sind auch die großen Zahlen kein Problem, die Library liefert Strings. Auch die Ermittlung der Dateigröße von Dateien jenseits 2 GB ist kein Problem
Dokumentierte Beispiele sind dabei.
Antworten