Главная / Справочник / Синтаксис языка / Константы
Объявление константы типа массива определяет значения компонентов массива. Тип компонентов массива может быть любым, кроме файлового.
Упакованные константы со строковым типом (символьные массивы) могут быть определены и как одиночные символы, и как строки. Например, такое определение:
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' }