Delphi-Quellcode:
...
type
TMemRec = record
DiskSize : Int64;
DiskFree : Int64;
Free : Byte;
end;
...
function GetMemRec(const Laufwerk: Char): TMemRec;
var
Drive : Byte;
begin
Drive := Ord(Laufwerk)-64;
Result.DiskSize := DiskSize(Drive);
Result.DiskFree := DiskFree(Drive);
Result.Free := Result.DiskFree * 100 div Result.DiskSize;//wichtig, dass man zuerst mal 100 rechnet, sonst gibts immer 0, zumindest bei mir(ilin)
end;
...
procedure TMainForm.ButtonGetFreeMemClick(Sender: TObject);
var
t,f,p : String;
r : TMemRec;
begin
r := GetMemRec('C');
t := IntToStr(r.DiskSize div 1073741824); //hoffentlich stimmt die umrechnung in GB ^^
f := IntToStr(r.DiskFree div 1073741824); //mal angenommen dass es 1024^3 ist :-)
p := IntToStr(r.Free);
LabelMemString.Caption := 'Frei : ' +f+' GB | Total : '+ t +' GB | = '+p+'%';
end;
Mal kurz was probiert, bei mir(ilin) stimmts. Hoffe, es hilft Dir in irgendeinerweise...