Macros plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Есть ли какая-нибудь возможность редактировать уже созданный макрос?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Andrey_A_A, нету. Исходники доступны, можете попытаться сделать что-то. Поделитесь результатом(годика через два).

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Жаль... годика через два... и вернёмся к макросу :)

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

Andrey_A_A wrote:Жаль... годика через два... и вернёмся к макросу :)
Некоторая подвижка в этом направлении Macro2SendKeys.vbs. Позволяет использовать наработки макросов, но не непосредственно, а путем преобразования их в SendKeys последовательности (т.е. через Scripts). Их редактировать сравнительно легко.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

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

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Может, легче изменить сам плагин, чтобы писал в обычные текстовые файлы что-нибудь такое:
{ctrl}{f}
{f}{o}{o}
{tab}
{b}{a}{r}
{enter}
?

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Fr0sT
100%

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

А потом парсить назад?
Думаю не стоит. При переводе туда-сюда нужно будет учесть всякие нью-ансы - задолбаешся переводчик писать. Кроме того как сейчас сделано пользователю нету шансов случайно испортить макрос.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Кроме того как сейчас сделано пользователю нету шансов случайно испортить макрос.
Кому надо портить его, по этому принципу любой файл надо превратить в закрытую зону, каждый файл в нечто закодированное, чтобы никто не влезал, а AkelPad сделать одним большим архивом - со словами: "Не дай, бог"

Смешно! Тот кто хочет влезть, сломать - тот влезет и сломает. В большинстве случаев туда лазают адекватные люди, которые хотят понять и автоматизировать...

На сегодняшний день с таким подходом проще вообще не пользоваться плагином...

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Чё там парсить?? Формат, предложенный Fr0sT'ом, чуть переработать так, чтобы все одноразово исполняемые команды можно было держать внутри {}, тогда берётся текст файла, из него удаляются начальная "{" и конечная "}", убираются переводы строк, получившийся текст влёт разбивается через "}{" и в цикле просто выполняется SendKeys. Безо всякого парсинга и обработки.

Andrey_A_A, 100%.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

При переводе туда-сюда нужно будет учесть всякие нью-ансы - задолбаешся переводчик писать.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Кроме того как сейчас сделано пользователю нету шансов случайно испортить макрос.
Сейчас тоже можно открыть файл макроса и пошуровать там. Да и ini файлы, при таком подходе, тоже не должны существовать! Я уже не говорю про скрипты, где любой может влезть, напортачить, уронить Акел или - о, боже! - потереть важнейшие документы.
И парсить там пара пустяков. Читаем строку, пробегаемся по токенам, ищем в массиве словарных обозначений клавиш, если в токене больше 1 символа, принимаем его за символ, если 1, пропускаем во всех иных случаях. Плюс модификаторы. И всё.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Раз все такие умные и есть время что-то делать(и при этом Инструктор по каким-то объективным или субъективным причинам этого не делает, то:
1. Исходники доступны.
2. AkelPad с подсветкой C/C++, фолдингом, подсказками(в т.ч. API функций) для редактирования исходников есть.
3. Ссылки на 32- и 64-битные компиляторы от M$ где-то тут валялись, если что, могу дать ещё-раз. GCC тоже надеюсь нагуглите.
Форкаиете плагин, называете его как-то так: MacrosEx или MacrosPlus или Macros2 млм как Вам будет угодно. Делаете нужные Вам изменения и пользуетесь. Хотите прячете новый плагин у себя, хотите публикуете.

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Ещё в окне "проигрывания" макроса была бы очень полезна галка "Игнорировать пустые строки" или "Игнорировать строки без содержимого", т.е. переместились на строку, удалили регуляркой из текста строки все пробелы и табуляции, и если осталась пустая строка, то для неё не выполнять макрос, а перемещаться дальше, на строку ниже. Ну и так далее по каждой строке..
Запоминать "нажатость" этой галки в настройках (у меня бы она была включена в 95%) случаев).

Добавлено:
И ещё одна полезная опция-галка для включения/отключения блокировки обработки клавиш редактором (сейчас блокировка включена всегда, т.е. невозможно вызвать скрипт из макроса, который у сидит на определённой комбинации клавиш).

Если переделать формат на обычные текстовые файлы + эти 2 возможности, то плаг бы просто порвал!

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Ещё в окне "проигрывания" макроса была бы очень полезна галка "Игнорировать пустые строки"
промахнулись темой. Плагину убсолютно пофигу над чем он работает, его задача - имитировать нажатия кнопок и дергание мышкой. Это как соковыжималка - можно кидать не только овоще-фрукты а и прочие вещи(ну там не знаю, пальца всунуть), у глупо ожидать что ножу вдруг увидят что это палец а не овоще=фрукт(ну или кофемолка: туда можно вбросить камень а не кофейное зерно - и она будет работать). Если нужно что-то делать массово с обратной связью - путь к Scripts плагину.
Post Reply