Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.11.23;
Скачать: CL | DM;

Вниз

Размер файла строчкой в KOL.   Найти похожие ветки 

 
Валера   (2009-10-13 03:10) [0]

Я пишу без использования SysUtils !

Нужна альтернатива этим функциям:


function FileSizeToStr(const FileSize: Int64): string;
begin
 if FileSize = 1 then
   Result := "1 byte"
 else if FileSize < 1024 then
   Result := Format("%d bytes", [FileSize])
 else if FileSize < 1024 * 1024 then
   Result := Format("%lu KB", [FileSize / 1024])
 else if FileSize < 1024 * 1024 * 1024 then
   Result := Format(" MB", [FileSize / (1024 * 1024)])
 else
   Result := Format("%.3f GB", [FileSize / (1024 * 1024 * 1024)]);
end;

function FileSizeToString(FileSize: Integer): string;
const
 ONE_K = 1024;
 ONE_MB = 1024 * ONE_K;
 ONE_GB = 1024 * ONE_MB;
begin
 // Decide whether we should report filesize in GB, MB, KB or Bytes
 if FileSize >= ONE_GB then
   Result := Format("%.2f GB", [FileSize / ONE_GB])
 else if FileSize >= ONE_MB then
   Result := Format("%.2f MB", [FileSize / ONE_MB])
 else if FileSize >= ONE_K then
   Result := Format("%.2f KB", [FileSize / ONE_K])
 else
   Result := Format("%d Bytes", [FileSize]);
end;


 
Валера   (2009-10-13 13:15) [1]

Написал так, вроде работает...

function DoubleToStrEx(d: double; CountAfterDot: integer): string;
var a: integer;
begin
 Result := Double2Str(d);
 a := Pos(".", Result);
 if a >= 0 then
   Result := copy(Result, 1, a + CountAfterDot);
end;

function FileSizeToString(FileSize: Integer): string;
const
 ONE_K = 1024;
 ONE_MB = 1024 * ONE_K;
 ONE_GB = 1024 * ONE_MB;
begin
 if FileSize >= ONE_GB then
   Result := Format("%s GB", [DoubleToStrEx(FileSize / ONE_GB, 2)])
 else if FileSize >= ONE_MB then
   Result := Format("%s MB", [DoubleToStrEx(FileSize / ONE_MB, 2)])
 else if FileSize >= ONE_K then
   Result := Format("%s KB", [DoubleToStrEx(FileSize / ONE_K, 2)])
 else
   Result := Format("%d Bytes", [FileSize]);
end;



Страницы: 1 вся ветка

Текущий архив: 2014.11.23;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.008 c
15-1397418465
Jeer
2014-04-13 23:47
2014.11.23
И все же - жизнь продолжается..


15-1397421007
Юрий
2014-04-14 00:30
2014.11.23
С днем рождения ! 14 апреля 2014 понедельник


2-1385310079
вова
2013-11-24 20:21
2014.11.23
Invalid Pointer operation


15-1397409286
Пит
2014-04-13 21:14
2014.11.23
HTML -> управление шириной линии <hr />


6-1234378196
smail
2009-02-11 21:49
2014.11.23
как передать сообщение клиенту?