Константы - Макросы

Programming Far Manager plugins

Константы

Константы позволяют задавать имена значениям и обращаться к ним позже.

Именование

Имена константам можно задавать произвольные, но при этом соблюдать следующие правила:

  1. Имя начинается с буквы латинского алфавита, дальше в произвольном порядке идут буквы латинского алфавита, цифры и символ '_'.
  2. Имена констант не должны совпадать с названиями клавиш и именами предопределённых свойств и макрофункций.

Типы

Константы могут быть трех типов - целое число, вещественное (разделитель целой и дробной частей - точка) или строка.

Целочисленные константы: NNN - 10-ричная константа, 0NNN - 8-ричная константа, 0xNNN - 16-ричная константа.

Целочисленные константы 64-разрядные.

Константы с плавающей точкой - двойной точности 64-разрядные (double).

Область действия

При старте FAR считывает константы из базы macros.db (таблица constants).

Представление в базе

В базе константы располагаются в таблице constants.

Каждая константа имеет имя, значение и тип. Значение в базе всегда хранится в виде текста. Поле type уточняет тип содержимого в поле value:

  • text - строковые константы
  • real - константы с плавающей точкой
  • integer - целочисленные константы

Преобразование чисел с плавающей точкой в строку осуществляется по формату "KeyMacros/CONVFMT". По умолчанию "%.6g"

Пример

Пример описания вещественной константы PI и применения константы FIB_PASSWORD (0x00000002) для функции prompt().
<constants>
  <constant name="FIB_PASSWORD", value="0x00000002", type="integer"/>
  <constant name="PI" value="3.14159265358979323846" type="real"/>
</constants>

<keymacros>
  <macro area="Editor" key="CtrlP" flags="DisableOutput">
    %s=prompt("Password","Input password:",FIB_PASSWORD);
    $Text %s
  </macro>
</keymacros>
Смотрите также: