Latest post of the previous page:
На худой конец exit(), но не return().Или же result(), пусть он не завершает макрос, а только лишь определяет возвращаемое значение.
Latest post of the previous page:
На худой конец exit(), но не return().Code: Select all
If = "Shell && CmdLine.Empty"
Code: Select all
If = "F11 $if (menu.select("имя плагина") > 0) ENTER $exit(1) $else ESC $exit(0) $end"
Да, тут некузявно получается. Конечно, плагин сам может добавлять "$exit( ... )", но как понять, когда надо добавлять, а когда нет?...Skirda wrote:"2+2" - это неявный $Text "2+2"
Code: Select all
Result(menu.select("имя плагина") > 0)
Только без F11 menu.select не имеет смысла. В этом и суть - в общем случае сложное условие невозможно уложить в формулу. Могут понадобиться локальные переменные, if'ы и пр.John Doe wrote:Если убрать f11, то в условии только menu.select("имя плагина") > 0.
Это не понял. По моему - ты не прав.John Doe wrote:Как понять надо ли добавлять: всё просто: если в макросе УЖЕ есть Result (или $Exit), то не добавлять.
Мне (в MacroLib'е) он нужен, чтобы сделать условие if. Конечно, в 90% случаев if будет укладываться в формулу, но эта формула должна пользоваться всеми функциями макро-api. Например, очень часто нужен условный запуск макросов, в зависимости от переменных окружения. Не хочется повторять вычислитель выражений в плагине, раз он уже есть в FAR'е.Skirda wrote:хмм... правильно я понимаю, что синхронный вызов макросов тебе нужен для последнего примера?