Page 24 of 24

Posted: Sat Jun 08, 2019 1:57 pm
by Олег
AZJIO
Это понято. А если я запускаю текстовые (или ещё какие) файлы с помощью даблкика, как это реализовать?

Posted: Sat Jun 08, 2019 5:15 pm
by AZJIO
Олег wrote:AZJIO
Это понято. А если я запускаю текстовые (или ещё какие) файлы с помощью даблкика, как это реализовать?
В контекстное меню проводника встроить команду "AkelPad as admin". Найти маленькую прожку as admin и использовать её как промежуточную

Code: Select all

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\AkelPad]
@="AkelPad"
"Icon"=""C:\\Program Files\\AkelPad\\AkelPad.exe""

[HKEY_CLASSES_ROOT\*\shell\AkelPad\command]
@=""C:\\Program Files\\AkelPad\\AkelPad.exe" "%1""

Posted: Sun Sep 15, 2019 6:07 am
by Олег
Как определить с помощью скрипта или внутренней команды что документ был изменён? И прописать это в коде кнопки?
Что-то вродеэтого:
SET(128, If("выражение", 0x0, 0x2))

Posted: Sun Sep 15, 2019 7:21 am
by AZJIO
Олег wrote:что документ был изменён?

Code: Select all

var bModified=AkelPad.GetEditModified(0);

Code: Select all

SET(128, If(`AkelPad.GetEditModified(0)`, 0x0, 0x2))

Posted: Sun Sep 15, 2019 8:15 am
by Олег
Большое спасибо! :)

Posted: Wed Oct 09, 2019 7:02 pm
by Олег
Добрый день!
Подскажите, как написать скрипт для рестарта Акела с сохранением сессии когда сохранение сессий отключено.
Скрипт Restart.vbs у меня почему то не работает.

Posted: Thu Oct 10, 2019 1:12 am
by opk44
Олег wrote:...Скрипт Restart.vbs у меня почему то не работает.
На этом форуме про данный скрипт ничего не известно. Имеет смысл задавать этот вопрос там, где вы его взяли.

Re: Помогите написать скрипт

Posted: Thu Jul 17, 2025 5:02 am
by bogser
Включены PMDI и "Don't open a program twice", хочу сделать так, чтобы при запуске нового инстанса AkelPad автоматически создавалась новая вкладка в уже запущенном AkelPad, а не просто происходила его активация. Пробовал "AkelPad.exe /Command(4101)" (4101 = Create new edit window), все отлично за исключением случая, когда происходит первый запуск AkelPad (т.е. когда нет уже запущенного инстанса в момент запуска нового), в этом случае в открывшемся AkelPad получаю две вкладки вместо одной.

Можно было бы воспользоваться /If("expression", "IfTrue", "IfFalse"), чтобы не дергать /Command(4101), когда ни попадя, но как в expression определять, что происходит первый запуск AkelPad?

Re: Помогите написать скрипт

Posted: Sat Jul 19, 2025 8:58 pm
by Instructor
bogser
В тестовой x86 / x64 можно использовать следующую командную строку:

Code: Select all

akelpad.exe /If(`SendMain(1222 /*AKD_GETMAININFO*/, 92 /*MI_PARSECMDLINETYPE*/, 0) == 4 /*PCL_ONMESSAGE*/`, `/Command(4101 /*IDM_FILE_NEW*/)`, ``)

Re: Помогите написать скрипт

Posted: Tue Jul 22, 2025 4:36 am
by bogser
Instructor wrote: Sat Jul 19, 2025 8:58 pm В тестовой x86
Работает, спасибо!

Re: Помогите написать скрипт

Posted: Tue Feb 03, 2026 1:45 pm
by testuser2
Всем привет! Заинтересовала возмжоность скриптинга в AkelPad в связи с отсутствием такой возможности (как базовой) в MS Visual Studio 2017. Вижу, что в Акеле поддерживается js и vbs. Хотелка у меня не простая, но надеюсь, что хотя бы подскажете куда копать и что лучше использовать, может быть лучше создать отдельную тему.. Что бы мне хотелось, это чтобы скрипт обрабатывал выделенный текст (код на языке С) и все имеющиеся там си-макросы разворачивал в полный текст и выводил этот текст в отдельное окно (новый созданный доккумент). При этом неплохо было бы как-то разграничить развернутые макросы может быть подстветкой, может быть, просто, разделительной пунктирной линией. Дальше в этом новом документе я хотел бы редактировать код и при нажатии определенного сочетания (допустим Alt+S) приосходило слияние всех изменений в базовый документ.

Re: Помогите написать скрипт

Posted: Tue Feb 03, 2026 11:27 pm
by testuser2
Можно ли где-то взять документацию по объектной модели и внутреннего API AkelPad в JS/VBS?

Re: Помогите написать скрипт

Posted: Tue Mar 03, 2026 12:19 am
by Instructor
testuser2
Всё описание объёктов с примерами можно найти в Scripts-Rus.txt.