Hallo,
ich benutze folgende Routine um Byte(s) in eine für den Anwender schönere Darstellung umzuwandeln:
Delphi-Quellcode:
function FormatByteSize(const bytes: Longint): string;
const
B = 1; // byte
KB = 1024 * B; // kilobyte
MB = 1024 * KB; // megabyte
GB = 1024 * MB; // gigabyte
begin
if bytes > GB then
result := FormatFloat('#.## GB', bytes / GB)
else if bytes > MB then
result := FormatFloat('#.## MB', bytes / MB)
else if bytes > KB then
result := FormatFloat('#.## KB', bytes / KB)
else
result := FormatFloat('#.## bytes', bytes);
end;
Ich rechne die Dateigröße mehrerer Dateien zusammen und erhalte "143866884245" Byte. Das sind ~134GB. Allerdings erhalte ich mit der oben aufgeführten Routine 1,99GB.
Ich weiß nich was da schief geht.
Gruß,
Lukas