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

Рейтинг@Mail.ru
Онлайн всего: 1
Гостей: 1
Пользователей: 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 11:43 )
Просмотров: 132 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Все смайлы
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2018
    Автор этого сайта: Неверов Евгений Викторович

    Мои координаты
    Бесплатный конструктор сайтов - uCozЯндекс.Метрика