Scripts plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 202
Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia

Post by Kley »

VladSh
VladSh wrote:В GetArgValue не берётся значение по умолчанию при передаче пустой строки.

Code: Select all

"test" Call("Scripts::Main", 1, "test.js", `-arg=""`)
Это параметр - Пустая строка. А это по умолчанию

Code: Select all

"test" Call("Scripts::Main", 1, "test.js")
"test" Call("Scripts::Main", 1, "test.js", `-arg="default_text"`)
Надо же, как-то, передавать пустую строку :)

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

Post by VladSh »

Kley wrote:Надо же, как-то, передавать пустую строку :)
Зачем? :) Была когда-то такая необходимость? За всю историю не припомню.

"По умолчанию" - это 2-й параметр в GetArgValue. Если по умолчанию нужна пустая строка, то там и ставим "".


Добавлено: Хотя... логика понятна.

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

Post by Instructor »

KDJ wrote:When I try to close any modified document (from the script), then displays message box "Document was modified. Do you want to save it?" and AkelPad hangs. On Win-XP sometimes, and on Win-7 always.
Fix searching took a few hours a week ago without luck, I remember about this report.

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

Post by Instructor »

KDJ wrote:Could you add optional parameter bAll for AkelPad.TextFind:
AkelPad.TextFind(hHandle, pFindIt, nFlags, bAll);
Return Value
- if bAll is true, the return value is count of occurences.
See Scripts 18.4. RRF_TEST requires dev version of 4.9.8.

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

Post by Instructor »

Добавлено: флаг RRF_TEST в метод AkelPad.TextReplace - только тестирование (для количества замен).
Исправлено: WFF_APPENDFILE - BOM теперь добавляется только в начало файла.

Added: RRF_TEST flag in AkelPad.TextReplace method - test only (for count of changes).
Fixed: WFF_APPENDFILE - BOM now added only for file beginning.


Scripts plugin v18.4

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

Post by KDJ »

Instructor
How to use RRF_TEST to get the count of all occurrences?
This code returns zero:

Code: Select all

WScript.Echo(AkelPad.TextReplace(0, "a", "b", 0x00200001 /*FRF_DOWN|FRF_BEGINNING*/, 0x2 /*RRF_TEST*/));

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

Post by Instructor »

KDJ

Code: Select all

0x3 /*RRF_ALL|RRF_TEST*/

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

Post by KDJ »

Instructor
But RRF_ALL|RRF_TEST replaces all occurences.

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

Post by Instructor »


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

Post by KDJ »

Instructor
Works fine, thank you very much.

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

Post by VladSh »

Instructor
Если взялись за функционал поиска, то не могли бы Вы заодно добавить флаг в AkelPad.TextFind, чтобы, задать методу не выделять найденную строку, а просто возвращать номер позиции?

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

Post by Instructor »

KDJ
RRF_TEST replaced with FRF_TEST.

VladSh
См. флаг FRF_TEST. Требуется разрабатываемая версия.

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

Post by KDJ »

Instructor
Please add FRF_TEST in description of AkelPad.TextFind().

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

Post by Instructor »

KDJ
Added.

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

Post by Instructor »

KDJ wrote:When I try to close any modified document (from the script), then displays message box "Document was modified. Do you want to save it?" and AkelPad hangs. On Win-XP sometimes, and on Win-7 always.
With Scripts v18.5. CloseDocument.js:

Code: Select all

    if (LoWord(wParam) == 1000)
    {
      AkelPad.ScriptNoMutex(0x20 /*ULT_UNLOCKSENDMESSAGE*/);
      AkelPad.Command(4318 /*IDM_WINDOW_FRAMECLOSE*/);
      AkelPad.ScriptNoMutex(0x10 /*ULT_LOCKSENDMESSAGE*/);
    }
Post Reply