Неверов Евгений Викторович
QR-код
Меню сайта
Категории раздела
Программирование на языке Паскаль [27]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [18]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [1]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Мои программы [1]
Описание разработанных автором программ.
Online-программы [2]
Прочее [42]
Свободная тематика
Мини-чат
200
Наш опрос
Существуют ли инопланетяне?
Всего ответов: 11
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

Автоматический перевод единиц измерения числа, выраженные в байтах, в кило-, мега-, гигабайты
function BaitAutoToKMGb(bait: int64; kol_wo_znak, edinitsa_izmereniya: byte): string;
var do_zpt: byte;
    r: extended;
    s: string;
begin
   r:=bait;
   s:='';
   Case edinitsa_izmereniya of
   1: s:='б';
   2: s:='бит';
   3: s:='Б';
   4: s:='байт';
   end;
   If bait>=1E3 then
   begin
      r:=bait/1024;
      Case edinitsa_izmereniya of
      1: s:='Кб';
      2: s:='Кбит';
      3: s:='КБ';
      4: s:='Кбайт';
      end;
   end;
   If bait>=1E6 then
   begin
      r:=bait/1024/1024;
      Case edinitsa_izmereniya of
      1: s:='Мб';
      2: s:='Мбит';
      3: s:='МБ';
      4: s:='Мбайт';
      end;
   end;
   If bait>=1E9 then
   begin
      r:=bait/1024/1024/1024;
      Case edinitsa_izmereniya of
      1: s:='Гб';
      2: s:='Гбит';
      3: s:='ГБ';
      4: s:='Гбайт';
      end;
   end;
   do_zpt:=Length(IntToStr(Trunc(r)));
   If do_zpt>=kol_wo_znak then
      kol_wo_znak:=do_zpt+1;
   Result:=Format('%*.*f', [do_zpt, kol_wo_znak-do_zpt-1, r]);
   If s<>'' then
      Result:=Result+' '+s;
end;

где

bait - исходное число;

kol_wo_znak - минимальное количество символов, выводимых в строке (запятая включается в количество знаков десятичного числа!);

edinitsa_izmereniya - формат единицы измерения, значения которых даны ниже:

0 - без единиц измерения,

1 - биты сокращенно (б, Кб, Мб, Гб),

2 - биты полностью (бит, Кбит, Мбит, Гбит),

3 - байты сокращенно (Б, КБ, МБ, ГБ),

4 - байты полностью (байт, Кбайт, Мбайт, Гбайт).

Например, BaitAutoToKMGb(58423695412, 5, 4) выведет '54,41 Гбайт'.

Категория: Программирование на языке Паскаль | Добавил: newerow1989 (12.03.2016)
Просмотров: 772 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Друзья сайта
Заработок в Интернете
Для начала необходим Электронный PAYEER® кошелек!
Copyright MyCorp © 2024
Версия для мобильных устройств. Яндекс.Метрика БКНС Анализ сайта