Scripts plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Instructor
Thank you very much, it works perfectly.

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

Post by Instructor »

Xephon wrote:Akelpad 4.7.9 x64
При попытке поиска с помощью SearchReplace.js возникает ошибка Error: 'nDirection' - не является числом. Возникает, только если есть файл SearchReplace.ini. Если его стереть, поиск идет без ошибок.
См. версию 12.2.

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

Post by Instructor »

Исправлено: возврат результата методом ScriptSettings().Read на Win7 x64.

Fixed: returning result by method ScriptSettings().Read on Win7 x64.


Scripts plugin v12.2

Offline
Posts: 124
Joined: Tue Jun 03, 2008 10:32 pm

Post by Xephon »

Ошибка исчезла. Спасибо большое.

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

Post by VladSh »

Instructor
При передаче параметра `-ToolBar=["ToolBar", "1"]` в FullScreenEx.js возникает ошибка, т.к. GetArgValue почему-то режет аргументы по пробелу; это можно увидеть, если после
if (Toolbars) {
поставить
WScript.Echo(Toolbars);
Можно ли поправить GetArgValue, чтобы оно разрезало как положено: первый переметр брало сразу после первого "-", а остальные через " -"? А то внутри параметров ведь может быть пробел, и в скрипт попадёт (и сейчас, на этом примере, попадает) некорректное значение.

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

Post by Instructor »

VladSh
`-ToolBar='["ToolBar", "1"]'`

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

Post by VladSh »

Instructor
Спасибо. Сначала не знал, как с этим справиться, пришлось делать ещё один eval, чтобы убрать внешние кавычки.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Баг?

Code: Select all

var hWndEdit = AkelPad.GetEditWnd();
AkelPad.SendMessage(AkelPad.GetMainWnd(), 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
AkelPad.SetSel(0, -1);
AkelPad.ReplaceSel("bug");

AkelPad.SetEditWnd(hWndEdit);
WScript.Echo(AkelPad.GetTextRange(0, -1));
Выводит "bug" вместо содержимого исходной вкладки.

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

В режиме PMDI будет выведена пустая строка от нового документа:

Code: Select all

var hMainWnd = AkelPad.GetMainWnd();
var hWndEdit = AkelPad.GetEditWnd();
var lpFrame = AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0);
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4101 /*IDM_FILE_NEW*/, 0);
WScript.Echo(AkelPad.GetEditFile(hWndEdit));

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Infocatcher
In PMDI mode is only one edit window: viewtopic.php?p=18747&hilit=#p18747

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

KDJ
Thanks!

But

Code: Select all

var lpFrameOrig = AkelPad.SendMessage(hMainWnd, 1288 /*AKD_FRAMEFIND*/, 1 /*FWF_CURRENT*/, 0);
setRedraw(hMainWnd, false);

AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrame);
...

AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrameOrig);
setRedraw(hMainWnd, true);

function setRedraw(hWnd, bRedraw) {
	AkelPad.SendMessage(hWnd, 11 /*WM_SETREDRAW*/, bRedraw, 0);
	bRedraw && oSys.Call("user32::InvalidateRect", hWnd, 0, true);
}
looks ugly. :(

Offline
Posts: 1862
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Опечатка в новой версии:
Scripts-Eng.txt

Code: Select all

    0x08  //DBG_MEMLEAK    Debug memory leak.
    0x10  //DBG_SYSCALL    Debug memory leak.

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

Post by Instructor »

Infocatcher
Поправлено.

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

Post by Instructor »

Добавлено: возможность задавать тип отладки (см. описание типов в методе AkelPad.Debug) глобально через диалог скриптов. При этом, если в скрипте встречается метод AkelPad.Debug, то текущий тип отладки меняется на указанный в методе.
Добавлено: новый тип отладки в метод AkelPad.Debug - отладка вызова системных функций.

Added: ability to specify the type of debugging (see description of types in AkelPad.Debug method) globally through the scripts dialog. Herewith, if in a script meets AkelPad.Debug method, then the current debug type will be changed to a specified in method.
Added: new debug type in AkelPad.Debug method - system function call debug.


Scripts plugin v12.3

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

Post by Instructor »

Добавлено: для метода Exec() поддержка переменных окружения и переменной %a - директория AkelPad'а.

Added: for method Exec() support for environment variables and %a variable - AkelPad directory.


Scripts plugin v12.4
Post Reply