Главная страница
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.005 c
2-1384891964
Alex_C
2013-11-20 00:12
2014.11.23
Массив по указателю


15-1395400552
Дмитрий СС
2014-03-21 15:15
2014.11.23
Подключение двигателя по CanOpen(Cia 402)


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


3-1301315020
samalex2504
2011-03-28 16:23
2014.11.23
В IB связать, отфильтровать и вывести несколько больших ХП


2-1384711271
Delphi_Newbie
2013-11-17 22:01
2014.11.23
Работа с накопителями