Константы типа массивов Pascal-Паскаль

Описание

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

Объявление константы типа массива определяет значения компонентов массива.

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

Пример
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'}

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

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

Пример массива строкового типа
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 Array_Maze : Cube = (((0, 1), (2, 3)), ((4, 5), (6, 7)));

Данное объявление создает инициализированный массив Array_Maze:

Созданный многомерный массив:
Array_Maze[0, 0, 0] = 0
Array_Maze[0, 0, 1] = 1
Array_Maze[0, 1, 0] = 2
Array_Maze[0, 1, 1] = 3
Array_Maze[1, 0, 0] = 4
Array_Maze[1, 0, 1] = 5
Array_Maze[1, 1, 0] = 6
Array_Maze[1, 1, 1] = 7