FastMacro – Быстрый поиск доступных макросов

Здесь обсуждается всё, что касается макросов.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

По нажатию клавиш (или их комбинаций) в списке скриптов будут оставаться только те, у которых эта клавиша(или комбинация) присутствует в ключе

Настройки: переменная gConfig в начале скрипта или (более высокий приоритет) файл fastmacro.cfg, который должен находиться в той же папке, что и текущий скрипт.

Клавиши управления по умолчанию:
Enter – запуск макроса.
Esc – отмена последнего фильтра для ключа или отмена поиска.
Up,Down – перемещение по списку.

Клавиши (или их комбинации), не задействованные в настройках: установка/сброс фильтра для ключа.

Нюансы:

Образец файла настройки:
fastmacro.cfg.7z
(1.69 KiB) Downloaded 78 times
Attachments
fastmacro47.lua.7z
(6.78 KiB) Downloaded 69 times
Last edited by LAT on Thu 24 Sep, 2020 19:22, edited 39 times in total.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT,
Эта функция есть в обозревателе макросов "Macro Browser alt." и её можно вызвать отдельным макросом тоже.

И тем не менее Ваш макрос очень интересен и полезен.

LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

sToLp wrote: Wed 21 Nov, 2018 09:37 1. При наличии макроса Plugin.BackgroundCopy.lua (см. в посте tstr Чт 14 мар, 2013 11:39 под спойлером) наблюдается следующее:
Вызываю сабжевый макрос (в области Shell, Dialog, Menu, или Editor), появляется меню макроса и я тут же его сбрасываю, а на экране остаётся меню "Команды плагинов".
Не получилось воспроизвести.
sToLp wrote: Wed 21 Nov, 2018 09:372. В популярной сборке VictorVG/FarUE3_x86 с руборда установлен макрос Common_CtrlAltMenuDisk.lua и сабжевый с ним конфликтует
В CtrlAltMenuDisk функция TestCond, используемая для condition, рассчитывает на параметр-строку. А приходит nil. Ошибка возникает при проверке условия запуска этого скрипта из других скриптов (например, из данного или из LuaManager).
В новой версии добавил защиту от таких ситуаций. (А заодно исправил бажок с фильтром, и сделал сообщение, если при выборе скрипта условие запуска не выполняется.)
Но, имхо, по-хорошему, нужно бы поставить защиту и в CtrlAltMenuDisk: например первой строкой в

Code: Select all

function TestCond(key)
поставить

Code: Select all

if not key then return false end
И, наверное, стоит сообщить о возникшем нюансе автору CtrlAltMenuDisk. Тем более, что при попытке запуска из MacroBrowserAlt тоже выскакивает ошибка (только другая).
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FastMacro – Быстрый поиск доступных макросов

Post by John Doe »

LAT wrote: Wed 21 Nov, 2018 22:27 нужно бы поставить защиту и в CtrlAltMenuDisk
Зачем?
LAT wrote: Wed 21 Nov, 2018 22:27 при попытке запуска из MacroBrowserAlt тоже выскакивает ошибка (только другая).
У меня не выскакивает, но даже если бы выскакивало - это была бы проблема MacroBrowserAlt.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT wrote: Wed 21 Nov, 2018 22:27В новой версии добавил защиту от таких ситуаций. (А заодно исправил бажок с фильтром, и сделал сообщение, если при выборе скрипта условие запуска не выполняется.)
Спасибо!
LAT wrote: Wed 21 Nov, 2018 22:27И, наверное, стоит сообщить о возникшем нюансе автору CtrlAltMenuDisk.
А сами то чего? Стесняетесь?
LAT wrote: Wed 21 Nov, 2018 22:27Не получилось воспроизвести.
В win10x64 LTSB с fastmacro9.lua .
А вот при вызове fastmacro10.lua упомянутого нюанса .
Но вот если потом сбросить меню кликом мышки за его пределами, то .
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

sToLp wrote: Thu 22 Nov, 2018 09:37...если потом сбросить меню кликом мышки за его пределами, то выскакивает ошибка
О таком развитии событий я не подумал :). Вроде бы исправил в fastmacro11.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

v14.
1) [кажется] навел порядок в регулярных выражениях
2) для перемещения оставлены только Up и Down
3) Возвращена смена языка при xlat-е
4) комбинации клавиш можно использовать не только для установки фильтра , но и для сброса
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT wrote: Fri 23 Nov, 2018 21:18 v14.
Спасибо, что развиваете макрос!
А ему, на мой взгляд, есть куда развиваться.
Например, желательно бы решить вопрос, как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
для перемещения оставлены только Up и Down
У меня в коллекции макросов достаточно много и мне не удобно перемещение по меню только по одной позиции за раз. Поэтому я для себя сделал . Он, по методу John Doe, по двойному нажатию на Up и Down, листает меню как по PgUp и PgDn, соответственно.
Last edited by sToLp on Sat 24 Nov, 2018 11:09, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

FastMacro – Быстрый поиск доступных макросов

Post by John Doe »

sToLp wrote: Sat 24 Nov, 2018 10:58 как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
В современном состоянии макроязыка нужды в таких макросов нет.
(Забыл про макросы запускаемые MacroEx)

Вычленить их можно в MacroBrowserAlt, если актуально, то пишите в соответствующей теме.
Last edited by John Doe on Sat 24 Nov, 2018 12:26, edited 1 time in total.
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT,
Макрос однозначно полезен. Особенно если не установлены ни MacroBrowserAlt, ни LuaManager.

LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

sToLp wrote: Sat 24 Nov, 2018 10:58...желательно бы решить вопрос, как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
А что имеется в виду под макросами с невалидными ключами, и зачем они нужны?
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT wrote: Thu 06 Dec, 2018 21:21А что имеется в виду под макросами с невалидными ключами, и зачем они нужны?
К невалидным обычно относят любые ключи, не соответствующими стандартным, в т.ч. макросы без ключа. Чаще всего невалидные ключи используются для вызова макросов из других макросов функцией eval, гораздо реже они возникают по ошибке.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

sToLp wrote: Thu 06 Dec, 2018 22:34
sToLp wrote: Sat 24 Nov, 2018 10:58...желательно бы решить вопрос, как вычленять макросы с невалидными ключами, которые используются для вызова макросов из макросов функцией eval.
К невалидным обычно относят любые ключи, не соответствующими стандартным, в т.ч. макросы без ключа. Чаще всего невалидные ключи используются для вызова макросов из других макросов функцией eval, гораздо реже они возникают по ошибке.
Т.е. это те, которым в качестве ключа назначена пустая строка или же набор символов, не соответствующий какой-либо комбинации клавиш. Так они вроде бы показываются в общем списке (только для ключей-пустых строк в качестве клавиши стоит «none»).
User avatar
sToLp
Posts: 938
Joined: Thu 23 Jul, 2009 10:16
Has thanked: 114 times
Been thanked: 12 times

FastMacro – Быстрый поиск доступных макросов

Post by sToLp »

LAT wrote: Thu 06 Dec, 2018 22:51Так они вроде бы показываются в общем списке
Да, и в нём тонут, особенно если макросов множество. Я, например, насчитал в своей тестовой сборке макросов 82 макроса с невалидными ключами. А сам список всех макросов занимает несколько страниц. Вот поэтому их и желательно вычленить. И Ваш вариант их вычленения был бы особо ценным из-за отсутствия его привязки к макробраузерам.
LAT
Posts: 343
Joined: Thu 21 Jan, 2010 20:00
Has thanked: 22 times
Been thanked: 39 times

FastMacro – Быстрый поиск доступных макросов

Post by LAT »

sToLp wrote: Sat 24 Nov, 2018 10:58 …я для себя сделал . Он, по методу John Doe, по двойному нажатию на Up и Down, листает меню как по PgUp и PgDn, соответственно.
Попробовал, как-то неудобно (непривычно?): если хочется сместиться и не на одну строку, но и не на целую страницу, а, например, на 2-3 строки, приходится делать паузы между нажатиями. Что раздражает.
ЗЫ. Насколько я понимаю, скрипт реагирует не только на двойное нажатие одной и той же клавиши (вверх или вниз), но и разных (вверх-вниз или вниз-вверх).
ЗЗЫ. Есть ли у такого приема преимущество перед использованием waitkey?
Post Reply

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