Page 6 of 10

Posted: Sun Jun 10, 2012 3:40 pm
by FeyFre
А теперь вопрос на засыпку: это новое поведение отключаемое?
Ибо Баба Яга против.

Posted: Sun Jun 10, 2012 5:25 pm
by DV
FeyFre,
а почему против? Разве "выполнить для всех строк КРОМЕ ПОСЛЕДНЕЙ" чем-то лучше или более логично? Раз "до конца файла", так уж до конца файла, включая и последнюю строку тоже. (Про старое поведение, когда макрос мог всунуть кучу неожиданностей в конец файла, я вообще молчу.)

Posted: Sun Jun 10, 2012 6:03 pm
by FeyFre
Ну вот такая куча неожиданностей мне иногда бывает нужно.
Это первое. Второе: как-бы не все макросы в принципе могут работать так что когда-либо достигнут конец файла. Не все вообще работают с текстом. Ну да ладно.

Обнаружился баг.
Зашел в диалог макросов.
Записал макрос. Назвал его.
Назначил ему комбинацию.
Закрыл диалог.
Запустил пару раз.
Опять открыл диалог.
Удалил макрос.
Записал новый. Назвал его.
Назначить ему комбинацию уже не могу - пишет занято тем другим, несуществующим.
Однако неудобно при интенсивной работе.

Posted: Mon Jun 11, 2012 3:49 am
by Instructor
Изменено: обработка до последней строки включительно, если последняя строка не пустая, при установке количества повторов в ноль.
Исправлено: при удалении макроса, горячая клавиша не освобождалась.

Changed: processing until and including (if the last line is not empty) the last line, when setting repeat count to zero.
Fixed: when macro deleted, hot key was not released.


Macros plugin v5.0

Posted: Wed Jun 13, 2012 10:34 am
by [Yustas.NeO]
Может тогда: 0 - до последней строки включительно, -1 - до предпоследней, -2 - до предпредпоследней, и т.д. ?

Posted: Wed Jun 13, 2012 11:41 am
by VladSh
[Yustas.NeO] wrote:Может тогда: 0 - до последней строки включительно, -1 - до предпоследней, -2 - до предпредпоследней, и т.д. ?
Это теоретически имеет смысл для того, чтобы использовать из Scripts-плагина (иначе просто смысла не вижу). Но из Scripts-плагина можно прекрасно получить количество всех строк, отнять нужное число и передать в Macros рассчитанное число строк для выполнения.

Posted: Mon Jul 30, 2012 5:18 pm
by vldmr
1. Можно ли сделать так, чтобы макрос запоминал раскладку клавиатуры, в которой был записан?
Например, макрос обрамляет выделенный текст тегом <h1>.
Если изменить раскладку на русскую и запустить макрос, то
вместо "<h1>Заголовок</h1>"
будет "Бр1ЮЗаголовокБ.р1Ю".

Пробовал такую хитрость. Назначить для необходимой раскладки сочетания клавиш через систему (WinXP).
И переключать в макросе через эти клавиши (Alt слева + Shift + 1).
Если через клавиатуру раскладка переключается, то через макрос ничего не происходит.
Хотя, обычное "Переключение между языками ввода" (Ctrl + Shift) через макрос работает.

Может есть возможность переключить раскладку клавиатуры через скрипты JS/VBS?
Тогда это можно было бы использовать с кодом от Macro2SendKeys.vbs

2. Как добавить описание к макросу? Может в третью колону таблицы макросов как-то можно вставить описание?
3. Как переименовать макрос?

Posted: Tue Jul 31, 2012 1:42 pm
by opk44
vldmr wrote:2. Как добавить описание к макросу?
Следует давать макросам осмысленные имена. Например "Join selected lines.macro" предпочтительнее чем "MyMacro19.macro".
vldmr wrote:3. Как переименовать макрос?
Макросы - это файлы. Имя макроса - это имя соответствующего файла. Следовательно для переименования макроса достаточно переименовать его файл. Файлы записанных макросов расположены в каталоге \AkelFiles\Plugs\Macros\ и имеют расширение ".macro".

Posted: Tue Jul 31, 2012 4:09 pm
by Instructor
vldmr wrote:Например, макрос обрамляет выделенный текст тегом <h1>.
Это проще сделать методом Insert плагина ContextMenu или HotKeys или ToolBar:
ContextMenu-Rus.txt wrote: Insert("<B>\s</B>", 1)
метод добавляет к выделению текст по краям.

MacTool - macro compiler/decompiler

Posted: Tue Aug 14, 2012 12:26 am
by Surveyor
Hi guys,

I have long thought the Macros plugin was great! A few people (including myself) have asked about "editing macros". Can't be done.

I have written a little compiler (and decompiler - one decompile mode incomplete in this version) which uses a custom "language" to create macros. A detailed help file is included in the small download (zip file).

Please try it out - you can get it on my usual Help file download page, here:
http://members.shaw.ca/atbcls/akelpad/. I hope to get the decompiler (back to source language) done soon, but many things need doing first here in British Columbia.

Cheers!
- Surveyor

Текстовый файл макроса

Posted: Fri Aug 17, 2012 8:13 pm
by vadim
Fr0sT wrote:Может, легче изменить сам плагин, чтобы писал в обычные текстовые файлы?
Да, такая штука очень нужна. Простенькие макросы можно сделать и сейчас, а вот что-то посложней уже затруднительно т.к. неизбежны ошибки, а поправить уже нельзя. Кроме этого по мере работы с текстами требуется вносить изменения и дополнения в макросы. Если макрос большой, то его придется заново набирать, а это может быть весьма затруднительно. А были бы макросы в виде текстовых файлов, то и проблем бы не было.

Был такой старый ДОСовый текстовый процессор Лексикон. Там тоже была реализована возможность создавать макросы. Вот пример из файла keymacro.lex

MACRO Э
+1{ALT-EQ}{BACKSPACE}{BACKSPACE}{DEL}{DEL}{DEL}{SHIFT-F3}{CTRL-RIGHT}{CTRL-F3}{ENTER}{SHIFT-LEFT}{SHIFT-F4}{F4}{CTRL-EMPTY}{RIGHT}.{-40}

Вот так же хорошо бы сделать и здесь. Не верю, чтобы технически это было невозможно.

Tiny bug (visual only)

Posted: Sat Aug 18, 2012 4:51 pm
by Surveyor
Instructor,

Just a minor visual bug in v5.1 - when macro recording started, small close dialog appears, as it should. Top-right corner of dialog should be transparent (as with top-left corner), but is black instead.

- Surveyor

Posted: Sat Aug 18, 2012 5:27 pm
by Instructor
Surveyor
It is Windows behaviour, I suppose because of small dialog size.

Posted: Wed Oct 31, 2012 8:32 pm
by VladSh
Instructor
Бывают случаи, когда поставил 0 повторов и маркос такого натворит, что жуть.. Приходится отменять через стандартное Ctrl+Z, и если файл большой, то это грустно. Для таких случаев в макрос-диалоге (он как раз находится на экране) очень была бы кстати кнопка "Отменить", которая отменяла бы столько действий, сколько было "проиграно" плагином в последний запуск.

Posted: Fri Aug 02, 2013 2:49 pm
by Infocatcher
Идея/предложение с предысторией. :)

Откроем окно скрипта, запишем макрос
F6 (переходим на окно скрипта) – Ctrl+Enter (что-то в этом окне запускаем) – F6 (переходим на редактор) – Ctrl+Home
Если скрипт что-нибудь «спросит» с помощью AkelPad.MessageBox(), выполнение макроса прервется.
Пример: converter.js#L1231
Можно взять любой большой текст и попробовать вызвать конвертирование в base64 – появится окно типа такого:
Converter.js :: Base64
---------------------------
Требуется времени: 0:06 (оценочно)
Продолжить?
---------------------------
ОК Отмена
Если записать макрос с таким диалогом, то работает нормально.
Не уверен, правда, что с этим надо что-то делать. С другой стороны, скрипт может выдать сообщение об ошибке вместо диалога, а мы его закроем и что-нибудь сломаем.
Ну, и отсюда идея: может, лучше записывать еще и класс окна (или еще что-нибудь, что не меняется) и посылать нажатия только если активно такое же окно, как и во время записи? Тогда, если что-то пошло не так, можно или уведомить пользователи, или даже спросить, нормально ли это (и продолжить после того, как сам пользователь закроет непредвиденное окошко).