OberonCore https://forum.oberoncore.ru/ |
|
Как сделать макрорекордер? https://forum.oberoncore.ru/viewtopic.php?f=23&t=6977 |
Страница 1 из 1 |
Автор: | vjatcheslav160424 [ Вторник, 16 Апрель, 2024 19:06 ] |
Заголовок сообщения: | Как сделать макрорекордер? |
В офисном пакете от Майкрософт имеется возможность автоматической записи макросов, редактор Emacs также имеет высокоразвитую поддержку макросов. Каким образом можно сделать макрорекордер в BlackBox? |
Автор: | Иван Денисов [ Вторник, 16 Апрель, 2024 21:06 ] |
Заголовок сообщения: | Re: Как сделать макрорекордер? |
vjatcheslav160424 писал(а): В офисном пакете от Майкрософт имеется возможность автоматической записи макросов, редактор Emacs также имеет высокоразвитую поддержку макросов. Каким образом можно сделать макрорекордер в BlackBox? Если хочется сделать прям красиво, чтобы можно было записывать какие-то вещи прямо редактируя код, то надо использовать обёртки. Как это делать есть в примере ObxWrappers. Так сделана подсистема Master тоже, можете поглядеть модуль MasterColorViews. Только там под 2.0 не обновлено пока в репозитории https://blackbox.oberon.org/extension/Master Я постараюсь на днях обновить, выложу совместимую версию. Но принцип там понятен по коду. Если что-то не ясно, проясним! А так есть расширение CpcAllCaps http://zinnamturm.eu/downloadsAC.htm#CpcAllCaps Которое дополняет под по горячей клавише, поглядите Есть еще продвинутая версия с редактором паттернов у Фёдора Васильевича в школьной сборке https://informatika-21.ru/software.htm#school Но там надо портировать на 2.0 Скажем так, всё возможно, но надо приложить руки. |
Автор: | arisu [ Четверг, 18 Апрель, 2024 07:23 ] |
Заголовок сообщения: | Re: Как сделать макрорекордер? |
как верно заметил Иван Андреевич — обернуть компонент в другой, который будеть фильтровать события. и записывать/проигрывать их. но на самом деле это далеко не лучший подход, как мне кажется. система настолько простая, что написать обычную команду, которая вызывается из меню (и прилепить на неё хоткей через меню же) — не намного сложнее. из команд можно вызывать другие команды, так что комбинировать их тоже несложно. поэтому никто особо и не озаботился созданием именно средства записи и проигрывания действий. тем более — система очень динамическая, так что для чего-то сложнее «тупо записать набраную строку и вставить» всё равно понадобятся какие-нибудь средства проверки и контроля. то есть, изобретать макроязык… который уже есть, называется Компонентный Паскаль. ;-) p.s.: единственное, пожалуй, чего не хватает в редакторе — это способа подцепить к нему обработчики изменения текста без оборачивания. потому что оборачивать все редакторы подряд не всегда удобно, и выглядит довольно костыльно. в LC я сделал такую систему хуков, через неё работает авторазворачивание шаблонов, дополнение, и другие мелкие гитики. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |