Partitions größe herausfinden

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

klin

Betreff: Partitions größe herausfinden

BeitragSa, März 01, 2008 14:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leutz,
gibt es ne möglichkeit von z.B. C:\ den Freien Speicher und den vollenSpeicher herauszufinden?
habs schon mit filesize ausprobiert... Doch daraufhin kommt dann -1 raus Confused
Wenn ihr euch fragt warum? Ich will son eigener Installer machen! Doch dazu muss er doch zuerst checken, ob auch genug Speicher vorhanden ist...
THX
MFG
Klin

d-bug

BeitragSa, März 01, 2008 14:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ist ohne Zugriff auf die WinAPI nicht möglich. Ich hatte für Win32 zu diesem Zweck mal ein kleines Modul geschrieben.

chaos.drives

Das ganze funktioniert dann wie folgt:

Code: [AUSKLAPPEN]
Import chaos.drives 'Erst das Modul einbinden

'Dann eine neue Instanz der TDevice-Klasse erstellen
Local Device:TDevice = New TDevice

'Eine String-Array aller vorhandenen Laufwerksbuchstaben bekommen...
'Das kannst du dann durchgehen um zu checken ob dein Laufwerk überhaupt existiert
Local DeviceLetterArray:String[] = Device.Enum ()

'Freien Platz auf Laufwerk "C:" ermitteln:
Local FreeSpaceC:Long = Device.Free ("C:")

'Benutzen Platz auf Laufwerk "C:" ermitteln:
Local UsedSpaceC:Long = Device.Used ("C:")

'Gesamtgröße von Laufwerk "C:" ermitteln:
Local SizeOfC:Long = Device.Size ("C:")


Das Modul kann auch noch mehr, aber da kannst du dich ja mal selbst reinlesen. Dokumentation liegt ja bei!

cheers
 

#Reaper

Newsposter

BeitragSa, März 01, 2008 18:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Es gibt auch ein Modul namens Volumes von Brucey.
Link habe ich nun gerade nicht.
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7

d-bug

BeitragSa, März 01, 2008 19:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Jop, das ist sogar cross-plattform, aber es kann eines nicht, was meines kann! CD-Schacht öffnen bzw. schließen. Wink
Egal, eigentlich war das Modul eh nur für den Eigenbedarf konzipiert. Und bah.volumes gibt es glaub ich sogar bei synchmods mit dem Scope bah!

klin

BeitragSa, März 01, 2008 21:59
Antworten mit Zitat
Benutzer-Profile anzeigen
OK das Modul geht nach zischtausenden Modul sachen... Ich weis zwar nicht wie ich es hinbekommen habe, aber ich habe i-wie das Modul Installiert^^
naja... Aber ich sehe das er die Größen in bytes anzeigt :/
Und da wollte ich fragen, wie man es in GBs umwandeln kann.
THX
MFG
Klin
 

Shark

BeitragSa, März 01, 2008 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
1024 bytes = 1 KB
1024 kB = 1 MB
1024 MB = 1 GB

Also musst du deine Bytes durch (1024*3) rechnen Wink

So viel Bytes wären dann 1 GByte = 1073741824

mfg Shark

klin

BeitragSa, März 01, 2008 22:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hört sich zwarlogisch an, aber das kommt leider bei mir raus:
Windows sagt: 7,15GB
Bmax sagt mit folgendem Code(FreeSpaceC/(1024*3)):2501841
wie kann sowas sein? Oo
THX
MFG
Klin

simi

BeitragSa, März 01, 2008 22:32
Antworten mit Zitat
Benutzer-Profile anzeigen
musst 1024*3 in 1024^3 umwandeln... Dann sollte es (habs nicht ausprobiert) gehen....

klin

BeitragSa, März 01, 2008 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
simi hat Folgendes geschrieben:
musst 1024*3 in 1024^3 umwandeln... Dann sollte es (habs nicht ausprobiert) gehen....

jop jetzt gehts!
Nur es sind zwar zeihlich viele Buchstaben aber egal... Die größe stimmt:
7.1577377319335937
THX
MFG
Klin
 

Shark

BeitragSa, März 01, 2008 22:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohh Sorry Embarassed
Simi hat recht.
Es ist nicht mal sondern hoch Very Happy

klin

BeitragSa, März 01, 2008 22:46
Antworten mit Zitat
Benutzer-Profile anzeigen
1. Wenn jemand auch das Problem hatte wie ich, habe ich hier nun einen Vollständigen Code
Code: [AUSKLAPPEN]
point=Instr(FreeSpaceC/(1024^3),".")
Print "FreeSpace: "+Left(FreeSpaceC/(1024^3),point+2)+" GB"

Und ich brauche jemandem, der das Modul ebenfalls Installiert hatt und der unter 1GB freien Speicher besitzt... würde mich nähmlich gerne Interessieren, was dabei rauskommt. Ich danke zwar 0.99 GB aber wer weis...
2. an Shark
macht ja nix^^
Trotzdem Danke für eure Hilfe!
THX
MFG
Klin
P.S. Wenn jemand es nun getestet hat, wäre es nett, wenn es jemand postet!

d-bug

BeitragSa, März 01, 2008 22:52
Antworten mit Zitat
Benutzer-Profile anzeigen
hihi... Oder du benutzt einfach die im Modul beinhalteten Methoden dazu Wink

Code: [AUSKLAPPEN]
'Freien Platz auf Laufwerk "C:" in MB ermitteln:
Local FreeSpaceC:Float = Device.ToMegaByte (Device.Free ("C:"))

'Freien Platz auf Laufwerk "C:" in GB ermitteln:
Local FreeSpaceC:Float = Device.ToGigaByte (Device.Free ("C:"))


Weiterhin viel Spaß...

klin

BeitragSa, März 01, 2008 23:06
Antworten mit Zitat
Benutzer-Profile anzeigen
lol... das muss ich wohl übersehen haben O.O
Aber egal^^ Ist ja nun passiert... ahja... das Laufwerk auf und zu find ich cool^^ *VIRUS* xD ne warn joke^^
THX
MFG
Klin
EDIT:
Bei den Docs steht aber nix dabei oO
woher haste den den Beispiel?

Blitzcoder

Newsposter

BeitragSa, März 01, 2008 23:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Weil er das Modul geschrieben hat?
P4 3 Ghz@3,55Ghz|GF 6600GT 256MB|Samsung 80GB | 2x Samsung 160GB|2048MB DDR-400 RAM|6 Mbit Flatrate | Logitech G15 | Samsung 225BW-TFT | Ubuntu Gutsy Linux | Windows Vista | Desktop | Blog | CollIDE | Worklog
________________
|°°°°°°°°°°°°°°||'""|""\__,_
|______________ ||__ |__|__ |)
|(@) |(@)"""**|(@)(@)****|(@)
 

#Reaper

Newsposter

BeitragSo, März 02, 2008 0:14
Antworten mit Zitat
Benutzer-Profile anzeigen
d-bug hat Folgendes geschrieben:
Jop, das ist sogar cross-plattform, aber es kann eines nicht, was meines kann! CD-Schacht öffnen bzw. schließen. Wink
Egal, eigentlich war das Modul eh nur für den Eigenbedarf konzipiert. Und bah.volumes gibt es glaub ich sogar bei synchmods mit dem Scope bah!


Very Happy
Also es ist zu mindestens über SVN verfügbar, keine Ahnung wie es mit SyncMods aussieht.


PS: Verdammt, wie viele Antworten denn, wenn man vor 3 Stunden vergessen hat, den Post abzusenden.. :-/ ^^
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

danielos

BeitragSa, Sep 27, 2008 0:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Moin,

kann man irgendwas tun, damit das schneller ausgerechnet wird ? Das dauert bei mir fast 10 Sec, egal ob Debug an oder aus ist... ^^
danke jedenfalls Smile

d-bug

BeitragSa, Sep 27, 2008 14:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Da das ganze direkt aus der WinAPI kommt, kann man es wohl nicht beschleunigen!

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group