Page 10 of 74

Posted: Fri Aug 29, 2008 7:59 am
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)

Posted: Tue Sep 30, 2008 11:47 am
by Instructor
Updated: LinesFilter.js and SearchReplace.js scripts.


Scripts plugin v3.5

Posted: Tue Sep 30, 2008 2:41 pm
by noklip
При вызове скриптов у меня выдает ошибку Image. Подскажите, как это исправить?

Posted: Tue Sep 30, 2008 3:05 pm
by Instructor
Славик wrote:Недавно столкнулся с проблемкой - при запуске JS скрипта, скрипт не отрабатывал и выдавал ошибку "Отсутствует исполняющее ядро для расширения имени файла js".
Поискал решения, многие предлагали качать и переустанавливать компонент с сайта майкрософт.

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

Code: Select all

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

Code: Select all

ASSOC .JS=JSFile

Posted: Thu Oct 02, 2008 8:33 am
by Instructor
Updated: included scripts.


Scripts plugin v3.5

Posted: Thu Nov 20, 2008 9:11 am
by Instructor
Added: Scripts-Methods.txt - methods description.


Scripts plugin v3.5

Posted: Wed Dec 03, 2008 9:54 am
by Instructor
Changed: improved GetMainWnd method.


Scripts plugin v3.6

Posted: Wed Dec 03, 2008 5:14 pm
by VladSh
Подсмотрел в какой-то проге (не помню в какой) - в окне скриптов поле с именем скрипта и кнопочка "Создать", по нажатию на которю создаётся скрипт в нужной дирректории (общей дирректории со скриптами) и этот новый файл сразу же открывается на экране. Удобно :-)

Posted: Thu Dec 25, 2008 5:32 am
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>');

Posted: Thu Dec 25, 2008 10:40 am
by Instructor
maxim2
Scripts-Rus.txt:
Call("Scripts::Main", 1, "InsertDate.js", "", 0)
Параметры:
1 - выполнить скрипт;
"InsertDate.js" - имя скрипта;
"" - аргументы;
0 - зарезервировано.

Posted: Fri Dec 26, 2008 3:22 am
by maxim2
Спасибо большое :oops:

Posted: Tue Jan 06, 2009 7:16 am
by Instructor
Updated: KeybTranslitEngRus.js, KeybTranslitRusEng.js scripts.


Scripts plugin v3.7

bug?

Posted: Sat Mar 28, 2009 10:44 pm
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().

Posted: Sun Mar 29, 2009 8:14 am
by Instructor
Fixed: GetEditWnd() method.


Scripts plugin v3.9

another bug?

Posted: Tue Mar 31, 2009 2:45 pm
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.