Einzelnen Beitrag anzeigen

g00gle-gott
(Gast)

n/a Beiträge
 
#1

GetDiscFreeSpacEx mit verschiedenen Laufwerksbuchstaben

  Alt 5. Apr 2009, 13:11
GetDiscFreeSpacEx mit verschiedenen Laufwerksbuchstaben aufrufen...

hallo an alle,

bin gerade dabei ein Programm zu machen, welches verschiedene PC-spezifische Daten liefert wie zB CPU-geschwindigkeit, Arbeitsspeicher oder eben auch Festplattenspeicher.
Hier liegt jedoch mein Problem, dass ich es nicht hinbekomme, die Funktion GetDiscFreeSpaceEx mit unterschiedlichen Laufwerksbuchstaben aufzurufen (je nach inhalts eines editfeldes).

hier mein bisheriger Lösungsansatz:

Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var
  freeCaller,
  total: Int64;
  Laufwerksbuchstabe : char;
  zeiger : pchar;
  x : array [0..255] of char;
begin
  Laufwerksbuchstabe:=edit2.Text[1];
  zeiger:=x;
  zeiger[1]:=Laufwerksbuchstabe;
  zeiger[2]:=':';
  zeiger[3]:='\';
  zeiger[4]:=#0;
  GetDiskFreeSpaceEx((Zeiger), freeCaller, total, nil)
  showmessage('Freier Speicher: '+IntToStr(((freeCaller div 1024)div 1024)div 1024)+' Gigabytes');
  showmessage('Gesamter Speicher: '+(IntToStr(((total div 1024)div 1024)div 1024)+' Gigabytes'));
end;
das war bisher die einzige Lösung, die Funktioniert hat bzw sich kompilieren ließ, ABER: wenn ich dann im Programm entsprechenden Button klicke liefert mir die Funktion als ausgabe nur müll! ...

kann mir jemand weiterhelfen
1.wie ich das sauberer lösen kann (ohne array of char und 3 Variabeln!) und
2.wie ich es richtig zum laufen bekomme mit vernünftigen ausgabewerten

vielen dank im Vorraus und

Grüße Ändy
  Mit Zitat antworten Zitat