Таблица 4.1. Классификация типов
Простые
Порядковые
Целые
Логический boolean
Символьный char
Перечислимый (val_1,…, val_N)
Диапазоны a_min .. a_max
Вещественные (действительные)
Строковый
Строка string, string[n]
нуль-терминированные строки PChar
Структурный
Массив array … of …
Множество set of …
Запись record … end
Файл
Текстовый textfile
Типизированный file of …
Нетипизированный file
Класс class … end
Ссылки на класс (метакласс)
интерфейсы
Указатели
Типизированные ^,@
нетипизированные pointer
Процедурный
Процедура procedure
Функция function
Variant для хранения любых типов, кроме структур, указателей и Int64.
Порядковые типы включают в себя целые, символьные, логические, перечислимые типы и диапазоны. Порядковый тип определяет множество величин, в котором каждая величина, кроме первой, имеет предшественника и каждая величина, кроме последней, имеет следующий. Каждая величина имеет порядковый номер. Для целых типов порядковый номер величины равен числу; для всех других порядковых типов кроме диапазонов, первая величина имеет порядковый номер 0, следующая величина имеет порядковый номер 1, и так далее.
Таблица 4.2. Функции для порядковых величин.
Функция
| Параметр
| Возвращает
| Remarks
|
Ord
| Порядковое выражение
| порядковый номер
| не берет аргументы типа Int64 аргументы
|
Pred
| Порядковое выражение
| Предшествующий элемент
| Не используется в свойствах, имеющих процедуру write
|
Succ
| Порядковое выражение
| Следующий элемент
| Не используется в свойствах, имеющих процедуру write
|
High
| Порядковый тип или перенная
| Максимальное значение для типа
| Действует в типах короткой строки и array
|
Low
| Порядковый тип или перенная
| Минимальное значение для типа
| Действует в типах короткой строки и array
|
Пример, High(Byte) = 255; Succ(2) = 3.
Процедуры Inc и Dec уменьшают и увеличивают значения на порядковых типах. Например, Inc(I) эквивалентно I := Succ(I).