Scripts plugin

Discuss and announce AkelPad plugins
Post Reply
  • Author
  • Message
Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

VladSh wrote:
Instructor wrote:
VladSh wrote:Я хотел написать свой обработчик, но... не получается, т.к. для этого мне нужно получить (скопировать Link(2)) саму ссылку, проанализировать её и выполнить опред действие (Link(1) или своё), но выполнить действия Link(...) из скрипта не получается...
Надо писать свой плагин, потому как скрипт не может находится "резидентом" в памяти и реагировать на нажатия мыши.
Я имел ввиду, что в меню ссылок "Open" вместо Link(1) ставлю свой скрипт.
Внутри скрипта:
1. Вызываю "Link(2)" (если бы можно было вызывать её из скрипта), т.е. копирую ссылку.
2. Анализирую, является ли она файлом
- если да, то открываю его на редактирование в AkelPad'е;
- если нет, то вызываю стандартный обработчик ссылки, т.е. "Link(1)" (конечно, если бы можно было вызывать её из скрипта).
Таким образом плагин и прога-резидент не нужны.
Подниму наверх :)
Александр, проблема в том, что у меня есть некоторые сайты, в которых работает спец. Java, так с ней может корректно работать только IE. Хотя, наверное, код просто был написан чисто под IE :?
Я хотел бы в контекстном меню ссылок добавить пункт "Open with IE", для этого нужна всего лишь команда, которая смогла бы копировать ссылку, т.е. аналог "Copy" Link(2), но чтобы я мог вызывать её по AkelPad.SendMessage. Если бы эта команда возвращала ссылку, то натравить на неё IE можно было бы без особых проблем.
Ну и ещё эта команда была бы полезна для обработки ссылки, например получить из всей этой песни с припевом только адрес сайта и открыть его - тоже удобная функция 8)

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Updated: LinesFilter.js and SearchReplace.js scripts.


Scripts plugin v3.5

Offline
Posts: 4
Joined: Tue Sep 23, 2008 7:57 am

Post by noklip »

При вызове скриптов у меня выдает ошибку Image. Подскажите, как это исправить?

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Славик wrote:Недавно столкнулся с проблемкой - при запуске JS скрипта, скрипт не отрабатывал и выдавал ошибку "Отсутствует исполняющее ядро для расширения имени файла js".
Поискал решения, многие предлагали качать и переустанавливать компонент с сайта майкрософт.

Вобщем решение оказалось куда проще
Просто нужно зайти в панель управления, свойства папки и в типах файлов на JS поставить значение по умолчанию. Или восстановить через реестр значение по умолчанию "JSFile" :

Code: Select all

[HKEY_CLASSES_ROOT\.JS] 
@="JSFile"
Или еще проще исправить ассоциацию можно простой командой :

Code: Select all

ASSOC .JS=JSFile

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Updated: included scripts.


Scripts plugin v3.5

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Added: Scripts-Methods.txt - methods description.


Scripts plugin v3.5

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Changed: improved GetMainWnd method.


Scripts plugin v3.6

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

Post by VladSh »

Подсмотрел в какой-то проге (не помню в какой) - в окне скриптов поле с именем скрипта и кнопочка "Создать", по нажатию на которю создаётся скрипт в нужной дирректории (общей дирректории со скриптами) и этот новый файл сразу же открывается на экране. Удобно :-)

Offline
Posts: 22
Joined: Mon Aug 21, 2006 10:28 am
Contact:

Post by maxim2 »

Сразу извините, вроде гдето было найти не могу, как поместить кнопку на тооолбар например для такого скрипта

Code: Select all

ReplaceHTMLb.js
Код:
///HTML: SelectedText to Bold formatting (<b>SelectedText</b>)
var AkelPad = new ActiveXObject("AkelPad.document");
AkelPad.ReplaceSel('<b>' + AkelPad.GetSelText() + '</b>');

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

maxim2
Scripts-Rus.txt:
Call("Scripts::Main", 1, "InsertDate.js", "", 0)
Параметры:
1 - выполнить скрипт;
"InsertDate.js" - имя скрипта;
"" - аргументы;
0 - зарезервировано.

Offline
Posts: 22
Joined: Mon Aug 21, 2006 10:28 am
Contact:

Post by maxim2 »

Спасибо большое :oops:

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Updated: KeybTranslitEngRus.js, KeybTranslitRusEng.js scripts.


Scripts plugin v3.7

Offline
Posts: 147
Joined: Fri Feb 08, 2008 6:41 pm
Location: British Columbia, Canada

bug?

Post by Surveyor »

Instructor,

I am currently documenting the Scripts plugin and have discovered that:

If AkelPad.GetEditWnd() is called when
  • AkelPad is in MDI mode, and
  • ALL editing windows have been closed
then a "valid" handle appears to be returned. Should not this be 0 (zero)? I am unable (unwilling!) to test and see if this indeed a valid handle, but it would be simpler if the handle were returned as 0, similar to GetMainWnd().

Offline
Site Admin
Posts: 6311
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Fixed: GetEditWnd() method.


Scripts plugin v3.9

Offline
Posts: 147
Joined: Fri Feb 08, 2008 6:41 pm
Location: British Columbia, Canada

another bug?

Post by Surveyor »

Instructor,

Again, during documentation preparation and sample scripts, I have discovered that ReplaceSel script function has the following behaviour:

- If selection exists, no problem - replaces text as expected
- If NO selection exists (eg. blank/new document), function STILL pastes text at caret position.

It appears (to me) that in "IDocument.c" (line 756), the "Document_ReplaceSel" function makes no test for valid selection, but sends AKD_REPLACESELW message anyway. I am NOT a "C/C++" programmer, so I am not 100% certain when I try to follow the code.

Pasting text (no selection) is already handled by Command 4155.

Shouldn't ReplaceSel test for selection, then do nothing (or return an error code) if no selection exists? This is really not a big deal, since it is only duplication of operation.
Post Reply