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