gotar
Пока нет времени ответить вам по пунктам.
В своё время начал писать утилиту для работы с макросами, пока она может только показать загруженные макросы и события. Утилита на самой начальной стадии.
MaxRusov
Имея mf.GetMacroCopy вы легко можете это сделать.
Путь к файлу находится в поле FileName.
Позиция начала определения макроса не хранится, но можно найти по имени.
Re: Организация Макросов
Posted: Sat 06 Apr, 2013 14:12
by Shmuel
Прошу иметь в виду, что mf.GetMacroCopy не случайно недокументирована. Это экспериментальная функция, у неё может ещё измениться и название, и сигнатура, и т.п.
Re: Организация Макросов
Posted: Sat 06 Apr, 2013 17:00
by gotar
Мне кажется GetMacroCopy очень полезной функцией. Может у Вас в загашнике есть функции доступа к элементам массива LoadedMacros. На первый взгляд, если динамически изменять action или key ничего плохого не произойдет. Изменение в будущем имен или типов параметров экспериментальных функций меня не пугает.
Re: GetMacroCopy
Posted: Mon 08 Apr, 2013 04:40
by IgorZ
Shmuel wrote:gotar
Пока нет времени ответить вам по пунктам.
В своё время начал писать утилиту для работы с макросами, пока она может только показать загруженные макросы и события. Утилита на самой начальной стадии.
Даже на такой стадии уже полезна. Одно замечание. Прекрасно понимаю, что всего лишь черновик, но фиксированная ширина столбцов и заголовки без содержания - зло. Чтобы не ограничиваться критикой, предлагаю такую правку (изменения помечены комментами):
Имхо любая критика выложенного наброска тут бессмысленна, т.к. финальная утилита вряд ли будет иметь много с ним общего.
И мне кажется автор даёт нам понять, что свободного времени у него нету, и пишите утилиту сами (вполне справедливо)
Имея через mf.GetMacroCopy доступ ко всем загруженным макросам можно сделать очень многое.
Однако неоднократно сталкивался с тем, что при работе с этими "сырыми" макросам в разных местах приходится повторно реализовывать логику, уже существующую в LuaMacro.
Приводя к некоему общему знаменателю те потребности, что уже не раз возникали, хотелось бы иметь штатную функцию, по заданной клавише отбирающую подходящие макросы, наподобие mf.eval(...,2), но с расширенными возможностями.
Что конкретно требуется:
- искать макрос, не запуская.
- опционально, возвращать все подходящие макросы, минуя меню конфликта
- опционально, при подборе включать в список макросы и с низким приоритетом (отдельно: те, условия/флаги которых не сработали)
(последнее связано с https://bugs.farmanager.com/view.php?id=3684, но не только)