Ключевое слово КОНСТ
1. Объявление глобальной константы.
Для объявления глобальной константы ключевое слово КОНСТ применяется вне объявления типа и тела функции или метода.
Синтаксис:
КОНСТ <имя> = <константное выражение>;
или
КОНСТ <имя типа>: <имя> = <константное выражение>;
или для констант контейнерного типа:
КОНСТ <тип элемента>: <имя>[<список типов индеков>] = <константное выражение>;
Справа от знака "равно" должно быть указано константное выражение. При объявлении глобальной константы точка с запятой в конце обязательны.
Пример:
КОНСТ ФайлНастроек = "settings.xml"; КОНСТ ОтнПутьФайлаНастроек = "config\" + ФайлНастроек; КОНСТ СТРОКА: ВременаГода[] = (1: "Зима", 2: "Весна", 3: "Лето", 4: "Осень");
2. Объявление локальной константы.
Для объявления локальной константы ключевое слово КОНСТ применяется в теле функции или метода.
Синтаксис:
КОНСТ <имя> = <константное выражение>
или
КОНСТ <имя типа>: <имя> = <константное выражение>
или для констант контейнерного типа:
КОНСТ <тип элемента>: <имя>[<список типов индеков>] = <константное выражение>
Пример:
ФУНКЦИЯ Сдвиг(ПЕРЕМ РЕДАКТОР: ред; ПЕРЕМ КНОПКА: кнопка) КОНСТ Смещение = 45 ред.верхний += Смещение кнопка.верхний += Смещение КОНЕЦ_ФУНКЦИИ
3. Фиксация значения индекса в цикле ИНДЕКС.
Ключевое слово КОНСТ применяется внутри квадратных скобок цикла ИНДЕКС перед именем переменной для использования значения переменной в качестве фиксированного индекса. Без ключевого слова КОНСТ переменная используется в качестве приемника значений индекса во время работы цикла.
Пример:
ПЕРЕМ ЦЕЛОЕ: п1 ПЕРЕМ ЦЕЛОЕ: п2 = 4 ЦИКЛ ИНДЕКС (элем = контейнер[п1, КОНСТ п2]) // ... второй индекс зафиксирован равным 4 КОНЕЦ_ЦИКЛА
В примере будут перебраны лишь те элементы контейнера, для которых второй индекс равен 4. Ключевое слово КОНСТ не потребовалось бы, если бы использовалось константное выражение. Но, т.к. указана переменная, то возникает неоднозначность, исключаемая ключевым словом КОНСТ.
4. Объявление неизменности контейнерного значения в цикле ИНДЕКС.
Ключевое слово КОНСТ применяется перед перебираемым контейнерным значением цикла ИНДЕКС для объявления его неизменности в теле цикла. Без ключевого слова КОНСТ цикл может полагаться на неизменность только явно указанных констант.
Пример:
ПЕРЕМ СТРОКА: конт[] = ("А", "Б", "В") ЦИКЛ ИНДЕКС (элем = КОНСТ конт[индекс]) // ... обещаем, что не будем изменять здесь переменную конт КОНЕЦ_ЦИКЛА конт += "Г" // а здесь уже можно