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

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

Post by Skirda »

Latest post of the previous page:

пока нет.
User avatar
JlblC
Posts: 46
Joined: Wed 19 Oct, 2005 16:52

Post by JlblC »

что-то типа

Code: Select all

%a="F1 Tab Tab Enter ShiftF2 BS "; $While (len(%a)>0) %b=index(%a," "); sendkeys(substr(%a,0,%b)) %a=substr(%a,%b+1,len(%a)-%b); waitkey(100) $End
с отключенной функцией "Запретить вывод на экран"
работает нормально
еще б вплывающие подсказки 8)
и можно было б демки-мультики на макросах писать
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

JlblC
вслывающие подсказки?
msgbox() + CtrlEnter — не подойдут?
Ты мне не выкай!
«ФарФорум не для пользователей!»
Upd:
P.S. Я просто поддерживаю беседу.» © Народ.

xmpp:kildor@jabber.ru
User avatar
JlblC
Posts: 46
Joined: Wed 19 Oct, 2005 16:52

Post by JlblC »

Kildor
Супер! :good:

можно теперь намакросить, например
интерактивный мультик
как пользоваться фаром
только вот в одну строчку такой макрос плохо смотреться будет

раз уж сделали такие изменения
может добавить поддержку многострочных макросов?
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

JlblC wrote:может добавить поддержку многострочных макросов?
На первое время: FMM 0.2.
User avatar
Smitis
Posts: 1709
Joined: Fri 18 Mar, 2005 12:51
Location: Питер
Has thanked: 23 times
Been thanked: 55 times

Post by Smitis »

JlblC
может добавить поддержку многострочных макросов?
Или моим скриптом farmacros. Где то сдесь на форуме он был...
Разум когда-нибудь победит.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

Тут подумалось... все же не sendkeys или playmacro, но скорее всего Exec.
ы?
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Skirda
Не, Exec ещё понадобится, чтобы файлы запускать. :P
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

HaRT wrote:Не, Exec ещё понадобится, чтобы файлы запускать. :P
Под это дело подошло бы название ShellExec :P
User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 2 times

Post by Centaur »

В «больших» языках такое называют eval.
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Centaur wrote:В «больших» языках такое называют eval.
Не мешайте нам тут куличики лепить! :P
Kildor
Posts: 1515
Joined: Wed 16 Mar, 2005 06:26
Location: Новосибирск
Been thanked: 1 time
Contact:

Post by Kildor »

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

xmpp:kildor@jabber.ru
User avatar
JlblC
Posts: 46
Joined: Wed 19 Oct, 2005 16:52

Post by JlblC »

поскольку уже появилась возможность
вызывать в макросах процедуры (или если угодно подпрограммы)
например так

Code: Select all

%par1="foo";%par2="bar";sendkeys(%%procedurename)
где в %%procedurename содержиться "код" обращающийся к переменным с именами par1,par2

:!: предлагаю эту возможность легализовать
типа

Code: Select all

call(%%procedurename,"foo","bar"...) 
а в процедуре к этим параметрам обращаться %1,%2 типа как в bat-никах,
можно еще shift прицепить 8)

msave использовать для процедер так же как и для переменных

можно еще что-ньть придумать чтоб не путать имена глобальных переменных и процедер
ЗЫ такой вариант мне кажеться наиболее просто реализуемым,
я не настаиваю именно на таком синтаксисе
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Post by HaRT »

Да уж, в чём согласен, так это в том, что пора уже чётко оговорить область видимости локальных переменных: то ли только самая вложенная подпрограмма, то ли, наоборот, самый внешний макрос, где эта переменная используется, плюс все из него вызванные.

Лично я — за первый вариант и возможность передачи параметров.

Прошу высказываться.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

JlblC, ты злодей искучитель :-)
Хорошая идея. Подумаю.
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

HaRT, в писании написано: "локальные" - в пределах одной сессии ФАР, глобальные - навсегда.
Locked

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