Работа с типами в Delphi. Перечисляемые типы

Перечисляемые типы в Delphi позволяют создавать упорядоченный перечень элементов. Каждый элемент именуется некоторым идентификатором (имя идентификатора должно быть без пробелов и состоять из букв латинского алфавита) и находиться в списке, по краям обрамленном круглыми скобками. Элементы отделяются друг от друга запятой. Перечисляемые типы в программе делают код нагляднее и понятнее. Также они повышают надежность программ из-за возможности контроля значений, получаемых переменными.

пример:

type
  TypeMonth = (jan,feb,mar,apr);
  Color = (red, green, blue, white);

Объявив перечисляемый тип, мы можем задавать переменные данного типа.

var
  col : Color;
  Month : TypeMonth;

Для того чтобы присвоить значения переменным напишем операторы:

col := red;
Month := feb;

Переменные перечисляемого типа можно создавать сразу, без предварительного описания типа типа переменной.

var
Countri : (Russia, France, USA, Poland, Germany, Italy);

Значения перечисляемого типа  и порядковые номера этих значений имеют соответствие согласно порядку перечисления. Первое значение имеет порядковый номер 0, второе 1, и т.д. Максимальное возможный порядковый номер равен 65536.

Функция Ord(X) возвращает порядковый номер значения выражения X.

C порядковыми типами применяют еще 2 функции Pred(X) и Succ(X).

Pred(X) - возвращает предыдущее значение.

Succ (X) - возвращает следующее значение.

Расположим на форме кнопку и напишем следующий код:

procedure TForm1.Button1Click(Sender: TObject);
var
   Nalog   : Currency;
   Countri : (Russia, France, USA, Poland, Germany, Italy);
begin
   Countri := USA;
   case Countri of
   Russia  : Nalog := 99;
   France  : Nalog := 36;
   USA     : Nalog := 75;
   Poland  : Nalog := 76;
   Germany : Nalog := 92;
   Italy   : Nalog := 45;
end;
   ShowMessage(FloatToStr(Nalog)+ ' $');
   ShowMessage(IntToStr(Ord(Countri)));
end;

Нажмем на кнопку и получим два сообщения. Первое 75 $ (пусть это будет цена визы в данную страну), второе - 2 (USA по порядку идет третьей, но счет элементов начинается с 0).

Итог: мы познакомились с порядковыми типами в Delphi.

Понравилась статья? Раскажите друзьям:
Общайтесь со мной

Оставить комментарий

Ваш email не будет опубликован. Обязательные поля отмечены *

Вы можете использовать это HTMLтеги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>