Будет доступно в новой версии Scripts плагина.VladSh wrote:не работает. Как только не пытался, и слэшами экранировал, ничего не выходит.Code: Select all
..., `-param1='"' -param2='"'`)
Scripts plugin
- Author
- Message
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Изменено: перехватчик сообщений окна может быть установлен без наличия цикла сообщений.
Изменено: теперь строка в аргументах скрипта может быть заключена в '' или ``, например:
Изменено: теперь метод SetEditWnd возвращает ноль, только если окно не AkelEdit/RichEdit20.
Изменено: убраны устаревшие методы IsOldRichEdit, IsOldComctl32.
Добавлено: информация о скрипте в главный диалог. В начале скрипта в комментариях возможно указывать служебную информацию, которая выводится в списке скриптов (необходимо включить соответствующие колонки правым кликом мыши по шапке списка), а также используется AkelUpdater'ом при обновлении.
Добавлено: внешний вызов с кодом 4 - выполнить скрипт в главном потоке, а не создавать новый.
Добавлено: типы в метод ScriptSettings().Read:
- PO_ENUM - получить имя настройки по индексу;
- PO_BINARYSTRING - прочитать текст (обычно многострочный), который был сохранен как бинарные данные;
- PO_BINARYSIZE - получить размер бинарных данных в байтах.
Добавлено: метод GetFilePath - получить часть пути файла.
Добавлено: метод ScriptExitCode - установить код выхода из скрипта.
Добавлено: возможность устанавливать фильтр сообщений для методов WindowRegisterClass и ThreadHook.
Добавлено: если параметр pScriptBaseName в ScriptSettings().Begin равно "", то использовать текущее имя скрипта.
Добавлено: восстановление прокрутки в метод ReplaceSel.
Добавлено: возможность получить имя скрипта без расширения в метод ScriptHandle.
Добавлено: возможность использовать дескриптор окна, которое имеет фокус, в метод SetEditWnd.
Исправлено: тип PO_BINARY метода ScriptSettings().Read.
Исправлено: возможное выполнение недействующего указателя после ThreadUnhook.
Исправлено: выход из программы, когда присутствует скрипт ожидающий другие скрипты.
Changed: message loop not necessary for subclassing.
Changed: now script string argument can be enclosed in '' and ``, for example:
Changed: now SetEditWnd method returns zero only if window is not AkelEdit/RichEdit20.
Changed: removed deprecated methods IsOldRichEdit, IsOldComctl32.
Added: script information in main dialog. At the script beginning in the comments possible to set service information, which appear in the scripts list (appropriate columns must be enabled by mouse right click on the list header).
Added: external call with code 4 - execute script in main thread without creating the new one.
Added: types in ScriptSettings().Read method:
- PO_ENUM - retrieve option name by index.
- PO_BINARYSTRING - read string (usually multiline), which was saved as binary data;
- PO_BINARYSIZE - retrieve binary data size in bytes.
Added: method GetFilePath - get file path part.
Added: method ScriptExitCode - set script exit code.
Added: possibility to add message filter to WindowRegisterClass and ThreadHook methods.
Added: if pScriptBaseName in ScriptSettings().Begin method is "", then use current script name.
Added: restoring scroll in ReplaceSel method.
Added: possibility to retrieve script name without extension in ScriptHandle method.
Added: possibility to use window handle that has focus in SetEditWnd method.
Fixed: PO_BINARY type of ScriptSettings().Read method.
Fixed: possible dangling pointer execution after ThreadUnhook.
Fixed: quiting when script is waiting for other script.
Scripts plugin v15.8
Изменено: теперь строка в аргументах скрипта может быть заключена в '' или ``, например:
Code: Select all
Call("Scripts::Main", 1, "MyScript.js", "-ArgName1=`0.01` -ArgName2='Value2'")
Изменено: убраны устаревшие методы IsOldRichEdit, IsOldComctl32.
Добавлено: информация о скрипте в главный диалог. В начале скрипта в комментариях возможно указывать служебную информацию, которая выводится в списке скриптов (необходимо включить соответствующие колонки правым кликом мыши по шапке списка), а также используется AkelUpdater'ом при обновлении.
Добавлено: внешний вызов с кодом 4 - выполнить скрипт в главном потоке, а не создавать новый.
Добавлено: типы в метод ScriptSettings().Read:
- PO_ENUM - получить имя настройки по индексу;
- PO_BINARYSTRING - прочитать текст (обычно многострочный), который был сохранен как бинарные данные;
- PO_BINARYSIZE - получить размер бинарных данных в байтах.
Добавлено: метод GetFilePath - получить часть пути файла.
Добавлено: метод ScriptExitCode - установить код выхода из скрипта.
Добавлено: возможность устанавливать фильтр сообщений для методов WindowRegisterClass и ThreadHook.
Добавлено: если параметр pScriptBaseName в ScriptSettings().Begin равно "", то использовать текущее имя скрипта.
Добавлено: восстановление прокрутки в метод ReplaceSel.
Добавлено: возможность получить имя скрипта без расширения в метод ScriptHandle.
Добавлено: возможность использовать дескриптор окна, которое имеет фокус, в метод SetEditWnd.
Исправлено: тип PO_BINARY метода ScriptSettings().Read.
Исправлено: возможное выполнение недействующего указателя после ThreadUnhook.
Исправлено: выход из программы, когда присутствует скрипт ожидающий другие скрипты.
Changed: message loop not necessary for subclassing.
Changed: now script string argument can be enclosed in '' and ``, for example:
Code: Select all
Call("Scripts::Main", 1, "MyScript.js", "-ArgName1=`0.01` -ArgName2='Value2'")
Changed: removed deprecated methods IsOldRichEdit, IsOldComctl32.
Added: script information in main dialog. At the script beginning in the comments possible to set service information, which appear in the scripts list (appropriate columns must be enabled by mouse right click on the list header).
Added: external call with code 4 - execute script in main thread without creating the new one.
Added: types in ScriptSettings().Read method:
- PO_ENUM - retrieve option name by index.
- PO_BINARYSTRING - read string (usually multiline), which was saved as binary data;
- PO_BINARYSIZE - retrieve binary data size in bytes.
Added: method GetFilePath - get file path part.
Added: method ScriptExitCode - set script exit code.
Added: possibility to add message filter to WindowRegisterClass and ThreadHook methods.
Added: if pScriptBaseName in ScriptSettings().Begin method is "", then use current script name.
Added: restoring scroll in ReplaceSel method.
Added: possibility to retrieve script name without extension in ScriptHandle method.
Added: possibility to use window handle that has focus in SetEditWnd method.
Fixed: PO_BINARY type of ScriptSettings().Read method.
Fixed: possible dangling pointer execution after ThreadUnhook.
Fixed: quiting when script is waiting for other script.
Scripts plugin v15.8
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
В новой вкладке (без имени)
метод
пишет ошибку: недостаточно памяти
При той же ситуации
Возвращает пустую строку.
метод
Code: Select all
Ext = AkelPad.GetFilePath(AkelPad.GetEditFile(0), 4)
При той же ситуации
Code: Select all
Ext = CreateObject("Scripting.FileSystemObject").GetExtensionName(AkelPad.GetEditFile(0))
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am
Исправлено: вызов метода GetFilePath для файла без расширения.
Fixed: GetFilePath method call for file without extension.
Scripts plugin v15.9
Fixed: GetFilePath method call for file without extension.
Scripts plugin v15.9
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
-
Offline
- Posts: 1949
- Joined: Sat Mar 06, 2010 7:40 pm
- Location: Poland
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Instructor
до 4.9.1 работал такой код
сейчас жуткие траблы с окном происходят... Что изменилось?
Это поведение можно обнаружить на многих скриптах, к примеру, CloseUnnamedAll.js
до 4.9.1 работал такой код
сейчас жуткие траблы с окном происходят... Что изменилось?
Code: Select all
MainWnd = AkelPad.GetMainWnd()
SetRedraw(MainWnd, False)
...
...
SetRedraw(MainWnd, True)
' Функция отключения/включения прорисовки окна
Function SetRedraw(hhWnd, bRedraw)
With AkelPad
.SendMessage hhWnd, 11, bRedraw, 0
If bRedraw Then
.SystemFunction().Call "user32::InvalidateRect", hhWnd, 0, True
End If
End With
End Function
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
Instructor
Наверное, моя проблема отсюда же (хотя с CloseUnnamedAll.js всё нормально вроде):
скриншоты слева напрво - норма, запуск скрипта winMergeTabs.js, поводил курсор мыши по тулбарам http://rghost.ru/59718832/image.png
Наверное, моя проблема отсюда же (хотя с CloseUnnamedAll.js всё нормально вроде):
скриншоты слева напрво - норма, запуск скрипта winMergeTabs.js, поводил курсор мыши по тулбарам http://rghost.ru/59718832/image.png
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Code: Select all
хотя с CloseUnnamedAll.js всё нормально вроде
Это значит что эта функция теперь не нужна?
----------
Хотя вспомнил - вставлял это для себя - так гораздо меньше мелькание табов было.
------------ Добавлено ------------
Пробовал так:
Code: Select all
var hMainWnd = AkelPad.GetMainWnd();
SetRedraw(hMainWnd);
...
SetRedraw(0);
function SetRedraw(hWnd)
{
var oSys = AkelPad.SystemFunction();
oSys.Call("user32::LockWindowUpdate", hWnd);
}
что-то типа этого:
viewtopic.php?p=27038#p27038
-
Offline
- Posts: 670
- Joined: Thu Jun 03, 2010 8:47 am
- Location: Сочи, Хоста
- Contact:
Code: Select all
У меня 1.6
viewtopic.php?p=3370#p3370
Хотя сути вопроса это не меняет.
-
Offline
- Posts: 1161
- Joined: Sun Oct 20, 2013 11:44 am
http://akelpad.sourceforge.net/files/pl ... ructor.zipAndrey_A_A wrote:Может для узкого круга есть и 1.85, но на сайте 1.5
К слову:
Я, правда, ручками привык.Добавлено: обновление скриптов в AkelUpdater.
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact: