Объявление константы типа массива определяет значения компонентов массива. Тип компонентов массива может быть любым, кроме файлового.
Символьные массивы
Упакованные константы со строковым типом (символьные массивы) могут быть определены и как одиночные символы, и как строки. Например, такое определение:
Const Digits : Array [0..9] Of Char = ('0', '1', '2', '3', '4', '5', '6', '7', '8', '9');
может быть выражено более коротко:
Const Digits : Array [0..9] Of Char = '0123456789';
Нуль-основанные символьные массивы
Нуль-основанный символьный массив - это такой массив, в котором индекс первого элемента равен нулю, а последнего - положительному ненулевому целому числу. Например:
Если вы включаете расширенный синтаксис (с помощью директивы компилятора {$X+}), то нуль-основанный символьный массив может быть инициализирован строкой, длина которой меньше, чем объявленная длина массива. Например:
Const FileName = Array [0..79] Of Char = 'TEST.PAS';
Если строка короче, чем длина массива, то оставшиеся символы устанавливаются равными NULL (0), и массив будет содержать строку с нулевым окончанием.
Константы - многомерные массивы
Такие константы определяются, заключением констант каждой размерности в отдельные наборы круглых скобок, разделенные запятыми. Например, такое объявление:
Type Cube = Array[0..1, 0..1, 0..1] Of Integer;
Const Maze : Cube = (((0, 1), (2, 3)), ((4, 5), (6, 7)));
создает инициализированный массив Maze:
Maze[0, 0, 0] = 0
Maze[0, 0, 1] = 1
Maze[0, 1, 0] = 2
Maze[0, 1, 1] = 3
Maze[1, 0, 0] = 4
Maze[1, 0, 1] = 5
Maze[1, 1, 0] = 6
Maze[1, 1, 1] = 7
Пример
Type Status = (Active, Passive, Waiting);
StatusMap = Array [Status] Of String[7];
Const StatStr : StatusMap = ('Active', 'Passive', 'Waiting');
{ компоненты StatStr:
StatStr[Active] = 'Active'
StatStr[Passive] = 'Passive'
StatStr[Waiting] = 'Waiting' }