Новый тип можно определить, накладывая ограничения на уже определенный ранее порядковый тип — в этом случае его называют базовым типом. Ограничение определяется заданием диапазона значений: минимального и максимального значений констант базового типа:

Допустимость операций над значениями ограниченного типа определяется базовым типом. А директива компилятора {$R+} позволяет контролировать выход за границу диапазона описанных значений во время выполнения программы.
Напомним, что именно такие типы данных используются чаще всего для описания индексов у массивов. Помимо этого, они позволяют описывать данные программы более наглядным образом и контролировать грубые ошибки. Приведем примеры описания ограниченных типов:
type age = 0..120;
digit = 0..9;
temperature = -50..50;
letter = 'a'..'z';
work = mon..fri;
{в последнем примере используется ограничение на введенный ранее тип week}

