Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)

Модерирует : gyra, Maz

Maz (23-11-2017 18:57): FAR Manager (часть 5)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

VictorVG4



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стационарные макросы
 
--------------------------------------------------------------------------------
 
Загрузка макроса происходит при вызове глобальной функции Macro, которой передаётся один аргумент – таблица с параметрами макроса. При успешной загрузке функция возвращает true.
 
  Macro {
    area         = "Shell Info Tree";                         -- string
    key          = "CtrlF11 ShiftHome";                       -- string (опциональное поле)
    description  = "Macro example";                           -- string (опциональное поле)
    flags        = "NoPluginPanels EmptyCommandLine";         -- string (опциональное поле)
    filemask     = "*.txt,*.cpp";                             -- string (опциональное поле)
    priority     = 50;                                        -- number (опциональное поле)
    sortpriority = 50;                                        -- number (опциональное поле)
    condition    = function(key) return Far.Height>30 end;    -- function (опциональное поле)
    action       = function() msgbox("","Macro example") end; -- function
    id           = "F0109446-AA63-4873-AEC3-17AEE993AA53";    -- string (опциональное поле)
  }
 
Поле area должно содержать имена одной или нескольких областей, разделённых пробелами.
 
Поле key может содержать имена одного или нескольких ключей, разделённых пробелами.
Ключи могут содержать модификаторы: Ctrl,LCtrl,RCtrl,Alt,RAlt,LAlt,Shift.
Ctrl означает “любой из LCtrl,RCtrl”, аналогично для Alt. Порядок указания модификаторов – произвольный.
 
Альтернативно, поле key может быть задано как регулярное выражение, обрамлённое слешами (/).
 
В этом случае /Ctrl/ не сработает при нажатии RCtrl, надо явно обозначать /[LR]Ctrl/ и т.п.  
Также в этом случае необходимо соблюдать порядок в последовательности Ctrl,Alt,Shift, например /[LR]Alt[LR]CtrlF1/ никогда не сработает.
 
 
Опциональное поле flags может содержать набор флагов, разделённых пробелами. Изменения в названиях или интерпретации флагов описаны здесь.
 
Опциональное поле priority (приоритет) – число от 0 до 100. Значение по умолчанию = 50.
Макросы, добавляемые посредством MCTL_ADDMACRO, имеют приоритет = 50.
 
Опциональное поле sortpriority (приоритет для сортировки) – число от 0 до 100. Значение по умолчанию = 50.
Значение данного поля учитывается при определении порядка расположения макросов в меню выбора макроса.
 
Опциональное поле filemask – строка.
Применимо только для областей Editor и Viewer. Обрабатывается по правилам, аналогичным тем, которые Фар применяет для масок файлов при поиске из панелей и т.д. Если имя файла, открытого в редакторе или просмотрщике, не соответствует заданной маске, макрос выполняться не будет.
 
Опциональное поле condition – функция.
 
Вызывается с одним аргументом: имя нажатого ключа. Для автостартующих макросов – вызывается без аргументов.  
Если возвращает false/nil/ничего, то макрос не исполняется.  
Если возвращает число, то это число используется вместо priority.  
При других значениях возврата (например, true) используется priority.
 
 
Поле action – функция.
Если макрос успешно прошёл все предварительные проверки (область действия, флаги, маска файла, приоритет), то вызывается функция action.
 
Допустимо более одного макроса на сочетание (key,area). В этом случае выполняется макрос с наибольшим приоритетом. Если есть более одного макроса с одинаковым наибольшим приоритетом – выводится меню выбора макроса.
Автостартующие макросы выполняются все, независимо от приоритета. Очерёдность их исполнения не определена.

Всего записей: 1248 | Зарегистр. 26-03-2016 | Отправлено: 19:58 31-07-2016
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 4)
Maz (23-11-2017 18:57): FAR Manager (часть 5)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru