Thema: Delphi Bytes in GB formatieren?

Einzelnen Beitrag anzeigen

mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

Bytes in GB formatieren?

  Alt 22. Feb 2007, 13:04
Ich benötige die Ausgabe des freien Speicherplatzes eines gewählten Laufwerkes. Erledigt wird dies wie folgt:

Delphi-Quellcode:
function GetDiskSize(drive: Char; var free_size, total_size: Int64): Boolean;
var
RootPath: array[0..4] of Char;
RootPtr: PChar;
current_dir: string;
begin
RootPath[0] := Drive;
RootPath[1] := ':';
RootPath[2] := '\';
RootPath[3] := #0;
RootPtr := RootPath;
current_dir := GetCurrentDir;
if SetCurrentDir(drive + ':\') then
begin
GetDiskFreeSpaceEx(RootPtr, Free_size, Total_size, nil);
SetCurrentDir(current_dir);
Result := True;
end
else
begin
Result := False;
Free_size := -1;
Total_size := -1;
end;
end;
Der Aufruf:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
s: String;
free_size, total_size: Int64;
begin
s := ExtractFileDrive(ParamStr(0));
showmessage(s[1]);


if GetDiskSize(s[1], free_size, total_size) then

ShowMessage('free space =' +
IntToStr(free_size) + #13 + 'total size=' +
IntToStr(total_size))
else
ShowMessage('Keine Disk im Laufwerk!');
end;
liefert das Ergebnis in Byte. Ich möchte beide Werte in GB formatieren. Aber wie?
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat