Главная страница
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-1384998017
MonoLife
2013-11-21 05:40
2014.11.23
ToolButton в ToolBar всегда по правому краю.


2-1384811925
Леонид
2013-11-19 01:58
2014.11.23
Как сделать файл "только для чтения"


2-1385142359
Koudelka
2013-11-22 21:45
2014.11.23
DELPHI 7:Как вывести в label текущее число записей таблицы DBGrid


11-1253891939
Dy1
2009-09-25 19:18
2014.11.23
курсор


2-1384891964
Alex_C
2013-11-20 00:12
2014.11.23
Массив по указателю