[История создания] Eval — Проиграть макропоследовательность

Здесь обсуждается всё, что касается макросов.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

[История создания] Eval — Проиграть макропоследовательность

Post by Skirda »

Начало — в теме waitkey().

Вторая проба:
http://farmanager.com/farbugs/macro.waitsend.2.rar
Строка у sendkeys исполняется сразу (если нету ошибок в последовательности) и здесь эта... :P
sendkeys "умеет" все то, что... макродвижок.
Т.е. допустима вот такая строка

Code: Select all

F5 sendkeys("F1 Tab Tab Enter MsgBox(\"Title\",\"Body\",0)");
не знаю кому это понадобится, но ОНО само собой получилось :-)
Хмм... на счет кода возврата - пока засада, т.е. все время возвращает 0 и... скорее всего, если этот вариант реализации (macro.waitsend.2.rar) будет предпочтительнее, то код возврата будет 0 или 1 (получилось или нет).

Хмм... в этом варианте имя функции "sendkeys" - бредовым получается.
User avatar
[e]Bu$ter
Posts: 792
Joined: Mon 30 May, 2005 23:05
Location: Беларусь, Минск
Contact:

Post by [e]Bu$ter »

Вот так всегда: заказчик одно, менеджеры другое, а программисты — третье – само получилось :D

Тут же главном был именно код возврата — чтоб можно было писать макросы на сочетания подобные CtrlK V...



Интересно, а вот такая конструкция будет работать?
sendkeys("F1 sendkeys("F1 sendkeys("F1 sendkeys("F1 sendkeys("F1")")")")");
:P
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

[e]Bu$ter wrote:Интересно, а вот такая конструкция будет работать?
sendkeys("F1 sendkeys("F1 sendkeys("F1 sendkeys("F1 sendkeys("F1")")")")");
:P
Ну тебе самому влом что ли попробовать?
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Skirda wrote:sendkeys "умеет" все то, что... макродвижок.
Динамические подпрограммы — это круто!
Skirda wrote:имя функции "sendkeys" - бредовым получается.
Ну так переименовать в PostMacro. :)
Skirda wrote:код возврата будет 0 или 1 (получилось или нет).
А действительно ли что-то мешает узнать, сколько клавиш/ команд выполнились успешно или на какой позиции обломились?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

HaRT wrote:А действительно ли что-то мешает узнать, сколько клавиш/ команд выполнились успешно или на какой позиции обломились?
Эээ... проблема с анализатором :oops:
Боремся. Скоро будет другой.
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

Skirda
но тогда получается, что можно будет в принципе анализировать макросы?
macro:check ?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
zg
zero-gravity
Posts: 6036
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Post by zg »

[e]Bu$ter wrote:Тут же главном был именно код возврата — чтоб можно было писать макросы на сочетания подобные CtrlK V...
это для waitkey главное. тут оно вообще по барабану.
User avatar
HaRT
Moderator
Posts: 10866
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

HaRT wrote:Ну так переименовать в PostMacro.
Я тут ещё малость подумал и пришёл к выводу, что лучше всё же SendMacro (по аналогии с PostMessage/ SendMessage в WinAPI).
Skirda wrote:проблема с анализатором [...] Скоро будет другой.
Ждём-с…
Kildor wrote:macro:check ?
+1
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Kildor wrote:но тогда получается, что можно будет в принципе анализировать макросы?
macro:check ?
Ну... в одной из версий FARCmds есть такой префикс. Версия плагина древняя (создавалась для тестов), есть только у Зероса :)
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

HaRT wrote:
HaRT wrote:Ну так переименовать в PostMacro.
Я тут ещё малость подумал и пришёл к выводу, что лучше всё же SendMacro (по аналогии с PostMessage/ SendMessage в WinAPI).
Тогда уже PlayMacro
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

Skirda
но по какому принципу эта версия действует?
просто проверяет correct/uncorrect, или вываливает окошко «Wrong token in position …» ?

Первое есть в selmacro, а вот второе — сильно бы хотелось)
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Kildor wrote:но по какому принципу эта версия действует?
просто проверяет correct/uncorrect, или вываливает окошко «Wrong token in position …» ?
Кидает ФАРу строку, ФАР возвращает либо "угу", либо инфу о типе ошибки и примерном месте, плагин тупо выдает это на экран.
Kildor wrote:Первое есть в selmacro,
Хмм... плагин сам все парсит?
Kildor wrote:а вот второе — сильно бы хотелось)
Будет.
Но не сейчас - проблемы есть и не хочеться этот кусок апи выкатывать на всеобщее обозрение по разным причинам - кривизна, непродуманность, etc. (надо учесть, что это делалось только для отработки движка и не расчитывалось на...)
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

Skirda
в смысле сам?
selmacro формирует новый макрос из того, что ему скормили вида $exit текст макроса, и скармливает фару.
Фар либо исполняет его, либо нет ;)
ну и по результатам selmacro выдаёт либо «Ok», либо «Not ok».
Будет.
Но не сейчас - проблемы есть и не хочеться этот кусок апи выкатывать на всеобщее обозрение по разным причинам - кривизна, непродуманность, etc. (надо учесть, что это делалось только для отработки движка и не расчитывалось на...)
будем ждать ;)
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Kildor wrote:selmacro формирует новый макрос из того, что ему скормили вида $exit текст макроса, и скармливает фару.
Фар либо исполняет его, либо нет ;)
ну и по результатам selmacro выдаёт либо «Ok», либо «Not ok».
Уф. Мудрецы :crazy:
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

Skirda
есть более прямой путь? (помимо выпытывания из Зероеса нужных плагинов :P )
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
Locked

Return to “Обсуждение макросов”