Определяется списком идентификаторов, которые перечисляются через запятую в круглых скобках. Поскольку этот список формирует сам программист, он должен объявить новый тип. Например, тип Autosможет содержать марки любимых автомобилей:
Type
Autos= (Mazda, Toyota, Opel, BMW, Volkswagen);
Далее мы можем объявить переменную этого типа:
Var
MyAutos: autos;
Но можно и сразу объявить переменную перечисляемого типа вот так:
Var
MyAutos: (Mazda, Toyota, Opel, BMW, Volkswagen);
Значением переменной MyAutosмогут быть Mazda, Toyota, Opel, BMW, Volkswagenи только они! Если вы купили (или богатый папа подарил) мерседес, то вам придётся подправить объявление типа, а вот с демократичным фольксвагеном не будет никаких проблем:
MyAutos:= Volkswagen;
Присвоили переменной нужное значение - и на дорогу с чистой совестью.
Функция Ordвозвращает порядковый номер идентификатора (его числовое значение) в списке:
ord(Mazda) 0 ord(Volkswagen) 4
Будьте внимательны: нумерация начинается с нуля!
При сравнении переменных учитываются значения соответствующих идентификаторов:
Mazda< Toyota< Opel< BMW < Volkswagen
Идентификаторы в перечисляемом типе не могут быть использованы для наименования других переменных!