HumanRedableSize

人間が読みやすいファイルサイズ表現にする関数。

function HumanRedableSize(Size: Int64): string;
var
  Denomination, Figures: Integer;
  X: Extended;
begin
  X := Size;
  Denomination := 0;

  while X >= 1000 do
  begin
    if X >= 1000 then
    begin
      Inc(Denomination);
      X := X / 1024;
    end;
  end;
  Figures := Length(IntToStr(Trunc(X)));

  case Denomination of
    0: Result := Format('%.0f Bytes', [X]);
    1: Result := Format('%.*f KB', [3 - Figures, X]);
    2: Result := Format('%.*f MB', [3 - Figures, X]);
    3: Result := Format('%.*f GB', [3 - Figures, X]);
  else
    Result := 'ERROR';
  end;
end;

Return index page