ich möchte die Größe von Ordnern ... nett formatiert ausgeben.
leider scheint die case Anweisung kein LongInt zu mögen und somit ist dieser Algorithmus verbesserungsbedürftig
Delphi-Quellcode:
function FormatByteStr(aFilesize: LongInt): String;
begin
case aFilesize of
0 .. 1000:
result := InttoStr(aFilesize) + ' [Byte]';
1001 ..1000000 :
result := FloatToStrF(aFilesize / 1024, ffFixed, 12, 2) + ' [KByte]';
1000001 .. 10000000:
result := FloatToStrF(aFilesize / 1024 / 1024, ffFixed, 12, 2) +
' [MByte]';
10000001 .. 10000009:
result := FloatToStrF(aFilesize / 1024 / 1024 / 1024, ffFixed, 12, 2) +
' [GByte]'
else
result := FloatToStrF(aFilesize / 1024 / 1024 / 1024/ 1024 , ffFixed, 12, 2) +
' [TByte]';
end;
end;