Latest post of the previous page:
я ж и объясняю, функции нет, но ты уже приписываешь её какие-то свойства. каким образом?NightRoman wrote:Если я гоню, лучше объясни конструктивно.
Latest post of the previous page:
я ж и объясняю, функции нет, но ты уже приписываешь её какие-то свойства. каким образом?NightRoman wrote:Если я гоню, лучше объясни конструктивно.
А как же плагины (в том числе луафаровские) вызываютNightRoman wrote:* Проигрывание родного макроса Фаром шаг за шагом - это одно. Keys() постятся, Фар переходит в другой режим, остальной макрос ждет очереди. Keys отработали, Фар пошел дальше играть макрос.
* Вызов внешнего движка со скриптом из которого будет вызван Keys() - это другое. Фар уже вызвал движок *модально*, из которого вызывается Keys(). Управление к Фару еще не вернулось из скрипта. В то же время по Keys() Фар должен получить управление, чтобы их проиграть.
Code: Select all
MacroControl(Id, MCTL_SENDSTRING, MSSC_POST, &msmt)
Code: Select all
F11
$if Menu.Select("MyPlugin")
Enter
$end
В простейшем варианте - так:Max Rusov wrote:А как написать на LUA, например, такой макрос:?Code: Select all
F11 $if Menu.Select("MyPlugin") Enter $end
Именно с F11, без Plugin.Menu или аналогов.
Code: Select all
far.MacroPost[[
F11
$if (Menu.Select("MyPlugin"))
Enter
$end
]]
Вообще-то предполагается исключить из макроязыка функции типа Menu.Select,Max Rusov wrote:А как написать... такой макрос: ...
Code: Select all
a b c
do-foo
Code: Select all
Post("a b c")
do-foo
Нет, зачем тогда Lua? Естественно, я ожидаю увидеть что-то типа:Shmuel wrote:В простейшем варианте - так:
Code: Select all
Keys("F11")
if MenuSelect("MyPlugin) then
Keys("Enter")
end
А стоит, потому что это может поставить большой жирный крест на идее реализации макросов на внешнем скриптовом движкеShmuel wrote:...это, конечно, потребует решения некоторых технических проблем, но я не хочу этим сейчас озадачиваться....
Хорошо, подумаю и отпишусь (но не из-за жирного креста, а просто из спортивного интереса).Max Rusov wrote:А стоит, потому что это может поставить большой жирный крест на идее реализации макросов на внешнем скриптовом движкеShmuel wrote:...это, конечно, потребует решения некоторых технических проблем, но я не хочу этим сейчас озадачиваться....
Как? Ну вот:Shmuel wrote:... ждёт реального завершения "нажатий", прежде, чем вернёт управление...
Code: Select all
void Modal::Process()
{
Show();
while (!Done())
{
ReadInput();
ProcessInput();
}
GetDialogObjectsData();
}
И что это даст? Работать то должен скриптовой движек.Shmuel wrote:Как вариант - функция Keys может содержать свой собственный цикл ReadInput/ProcessInput.