Константы типа массивов

Объявление константы типа массива определяет значения компонентов массива. Тип компонентов массива может быть любым, кроме файлового.

Символьные массивы

Упакованные константы со строковым типом (символьные массивы) могут быть определены и как одиночные символы, и как строки. Например, такое определение:

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';
Нуль-основанные символьные массивы

Нуль-основанный символьный массив - это такой массив, в котором индекс первого элемента равен нулю, а последнего - положительному ненулевому целому числу. Например:

Array [0..X] Of Char;

Если вы включаете расширенный синтаксис (с помощью директивы компилятора {$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' }