OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Понедельник, 29 Апрель, 2024 20:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
 Заголовок сообщения: Как сделать макрорекордер?
СообщениеДобавлено: Вторник, 16 Апрель, 2024 19:06 

Зарегистрирован: Вторник, 16 Апрель, 2024 19:00
Сообщения: 1
В офисном пакете от Майкрософт имеется возможность автоматической записи макросов, редактор Emacs также имеет высокоразвитую поддержку макросов. Каким образом можно сделать макрорекордер в BlackBox?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как сделать макрорекордер?
СообщениеДобавлено: Вторник, 16 Апрель, 2024 21:06 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3778
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

Скажем так, всё возможно, но надо приложить руки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как сделать макрорекордер?
СообщениеДобавлено: Четверг, 18 Апрель, 2024 07:23 

Зарегистрирован: Воскресенье, 25 Декабрь, 2022 23:14
Сообщения: 1167
как верно заметил Иван Андреевич — обернуть компонент в другой, который будеть фильтровать события. и записывать/проигрывать их.

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

тем более — система очень динамическая, так что для чего-то сложнее «тупо записать набраную строку и вставить» всё равно понадобятся какие-нибудь средства проверки и контроля. то есть, изобретать макроязык… который уже есть, называется Компонентный Паскаль. ;-)

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB