Цитата:
Функции и процедуры для порядковых типов данных
Существует несколько полезных функций и процедур, без использования которых, порой, сложно оперировать порядковыми типами данных:
Pred() - функция возвращает предыдущее значение для выражения, указанного в качестве единственного аргумента.
Примеры: Pred(5) = 4, Pred('E') = 'D', Pred(True) = False.
Succ() - функция, обратная для Pred() - возвращает следующее значение.
Примеры: Succ(5) = 6, Succ('E') = 'F', Succ(False) = True.
Ord() - возвращает порядковый номер значения в списке значений типа данных. С этой функцией мы уже встречались при работе со строками - с её помощью мы узнавали код символа.
Примеры: Ord('A') = 65, Ord(True) = 1.
Low() - возвращает минимальное значение указанного типа данных.
Примеры: Low(Byte) = 0, Low(Boolean) = False, Low(Char) = #0 (символ с кодом 0).
High() - возвращает максимальное значение указанного типа данных.
Примеры: High(Byte) = 255, High(Boolean) = True, High(Char) = #255 (в русской локали это символ "я").
Ну и ещё две процедуры, с которыми мы уже знакомы:
Dec() - уменьшает значение на единицу.
Inc() - увеличивает значение на единицу.
Не забывайте о втором необязательном параметре этих процедур.
|
Похоже, задача при использовании перечислимого типа неразрешима.
Но есть более хитрый вариант с типом множество, ведь он тоже относится к перечислимым. К элементу множества можно обратиться по номеру и вывести множество также возможно как по-элементно, так и целиком. К сожалению, не владею соответствующим листингом, но думаю, что решение в этом случае вполне возможно.