Реферат: Object Pascal
Такой способ описания позволяет при необходимости легко изменить размер массивов, изменив всего лишь значение константы (в данном случае константы ArrMax). При этом произойдут автоматические изменения определений как в текущем, так и в других модулях, если они содержат определения, опирающиеся на эту константу. Явное определение массивов через значение 100 потребовало бы соответствующих явных изменений этого значения на другое всюду, где такие описания имели бы место. Для больших программ это могло бы стать причиной ошибок, если часть изменений не была бы выполнена по недосмотру.
Типизованные константы
Это специальный тип констант, которые отличаются от обыкновенных констант тем, что при их описании необходимо указывать тип.
Простые типизованные константы. Общий вид константы:
<имя константы> : <тип> = <значение>;
Примеры:
Const
CurrentPosition: Word = 11000;
LastLetter: Char = 'z';
HeadOfModule: String[26] = 'Начало программного модуля';
Типизованные константы нельзя использовать для описания динамических структур. Следующий пример демонстрирует недопустимое описание динамического массива Arr через типизованную константу ArrMax:
Const
ArrMax: Integer = 100;
Var
IntArr: Array [1..ArrMax] of Integer; { Ошибка }
Значение типизованных констант можно изменять в ходе выполнения программы, и они могут быть использованы в качестве Var-параметра процедуры или функции. В этой связи типизованные константы по сути являются переменными с начальным значением.
Типизованные константы типа "массив". Этот тип констант позволяет обозначить постоянной величиной целый массив однотипных значений, например:
Type
tVotes = (Yes, No, UnDef);
tVoteArr = array [tVotes] of String [7];
Const
Votes : tVoteArr = ( 'Да', 'Нет', 'Не знаю' );
Var
V: tVoteArr;
S: String[20];
…
V:= Votes;
S:=V[UnDef];
…