MyChat Scripts: функция IntToKbyte, сокращённая запись размера файла

MyChat Scripts: функция IntToKbyte, сокращённая запись размера файла

Функция для получения сокращённого размера файла в текстовом виде. В байтах, килобайтах, мегабайтах или гигабайтах, в зависимости от исходного размера.

 

Синтаксис

function IntToKbyte(iValue: int64): string;

 

Параметры и возвращаемые значения

Параметр

Тип

Значение

iValue

int64

размер в байтах, который нужно преобразовать в строку короткого формата.

 

Результат функции

Текстовая строка, короткая запись размера файла. Например, "1 GB" или "18.4 KB".

 

Пример

var
  iSizes: array[1..10] of int64;
  i: integer;
begin
  iSizes[1]  := 13;
  iSizes[2]  := 4478;
  iSizes[3]  := 78336;
  iSizes[4]  := 694272;
  iSizes[5]  := 5945425;
  iSizes[6]  := 13002342;
  iSizes[7]  := 245366784;
  iSizes[8]  := 3693671874;
  iSizes[9]  := 13636521164;
  iSizes[10] := 143881404416;
  
    for i := 1 to 10 do 
      mLogScript(IntToKbyte(iSizes[i]) + ', ' + IntToStr(iSizes[i]) + ' bytes',  '');
end.

Результат работы скрипта

[19:24:52] (Log "IntToKbyte"): 13 B, 13 bytes

[19:24:52] (Log "IntToKbyte"): 4.37 KB, 4478 bytes

[19:24:52] (Log "IntToKbyte"): 76.5 KB, 78336 bytes

[19:24:52] (Log "IntToKbyte"): 678 KB, 694272 bytes

[19:24:52] (Log "IntToKbyte"): 5.67 MB, 5945425 bytes

[19:24:52] (Log "IntToKbyte"): 12.4 MB, 13002342 bytes

[19:24:52] (Log "IntToKbyte"): 234 MB, 245366784 bytes

[19:24:52] (Log "IntToKbyte"): 3.44 GB, 3693671874 bytes

[19:24:52] (Log "IntToKbyte"): 12.7 GB, 13636521164 bytes

[19:24:52] (Log "IntToKbyte"): 134 GB, 143881404416 bytes

[19:24:52] (Run "IntToKbyte"): Время выполнения скрипта: 4 мс

[19:24:52] (Run "IntToKbyte"): Скрипт выполнен успешно.

 

Ещё посмотреть

IntToStr

mLogScript