Posted: Tue Feb 15, 2011 9:13 pm
Если это позволит сохранять не в реестре, то... YAAAAAHHHHOOOO ))Добавлено: объект AkelPad.ScriptSettings() и его методы Begin, Read, Write, Delete, End.
Если это позволит сохранять не в реестре, то... YAAAAAHHHHOOOO ))Добавлено: объект AkelPad.ScriptSettings() и его методы Begin, Read, Write, Delete, End.
Отлично!Instructor wrote:Добавлено: объект AkelPad.ScriptSettings() и его методы Begin, Read, Write, Delete, End.
Code: Select all
Scripts плагин
---------------------------
Скрипт: ...\Scripts\SearchReplace.js
Строка: 291
Символ: 15
Ошибка: 'lpFindStrings' - есть null или не является объектом
Код: 800A138F
Источник: Ошибка выполнения Microsoft JScript
Code: Select all
if (oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/))
{
...
lpFindStrings=new Array(nSearchStrings);
...
oSet.End();
}
Code: Select all
var oSet=AkelPad.ScriptSettings();
if(oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/)) {
WScript.Echo("Ok"); // Если ini-файл существует
oSet.End();
}
else
WScript.Echo("Fail");
Code: Select all
oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/);
bSensitive=oSet.Read("Sensitive", 1 /*PO_DWORD*/, false /*defaulr value*/);
bMultiline=oSet.Read("Multiline", 1 /*PO_DWORD*/, false /*defaulr value*/);
oSet.End();
Мы ожидали метод GetArg в новой версии плага...Instructor wrote:...Кстати в разрабатываемой версии Scripts плагина -Path="C:\Dir 1" будет передаваться как один аргумент.
Code: Select all
AkelPad.SendMessage(AkelPad.GetMainWindow(),AKD_BEGINOPTION, POB_READ, "Scripts\\"+scriptname)
Code: Select all
-"Тест" Call("Scripts::Main", 1, "test.js", `-Value="myValue"`)
Code: Select all
var oSet = AkelPad.ScriptSettings();
if (oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/))
{
var pString = oSet.Read("Value", 3 /*PO_STRING*/);
WScript.Echo(pString);
oSet.End();
}
else
WScript.Echo("Fail");
Code: Select all
var set = AkelPad.ScriptSettings();
set.Begin("qwerty_script",0x2 /*POB_SAVE*/);
set.Write("qwerty_param",3,"qwerty_value");
set.End();
Code: Select all
[Options]
qwerty_param=qwerty_value
Думал, что формат для разбора сложных агрументов будет унифицирован, и эта функцЕя будет встроена методом, чтобы её не тягать по скриптам.. Назвать бы её, например, ArgumentsParse, и чтобы она возвращала структуру со всеми аргументами. И обращаться к определённому аргументу по имени, типа:VladSh wrote:Мы ожидали метод GetArg в новой версии плага...Instructor wrote:...Кстати в разрабатываемой версии Scripts плагина -Path="C:\Dir 1" будет передаваться как один аргумент.Было бы здорово!
Code: Select all
var oArgs = AkelPad.ArgumentsParse();
var arg1 = oArgs("arg1Name");
Code: Select all
var oArgs = AkelPad.Parse(WScript.Arguments);
var arg1 = oArgs("arg1Name");
Code: Select all
0x2 //POB_SAVE Начать операции записи.
0x4 //POB_CLEAR Начать операции записи с очисткой (POB_SAVE|POB_CLEAR).
Исправлено.Infocatcher wrote:Но вот новый SearchReplace.js что-то не учитывает.
Там же везде примеры естьVladSh wrote:...т.к. прочитав это, пытался для удаления использовать 0x4, а оно не работает...
Настройки могут быть записаны только в секцию Options.VladSh wrote:Просьба в доке указать, как осуществлять записать в другую секцию.
Отсюда вытекает одно неудобство.FeyFre wrote:Т.е. он сам решает куда писать и откуда читать настройки: реестр или файл.
Code: Select all
if(oSet.Begin(WScript.ScriptBaseName, 0x1 /*POB_READ*/ | 0x8 /*INI*/)) { ... }
Если пользователь решил сохранять в реестре, то ScriptSettings будет сохранять в реестре. Тоже верно и для плагинов. Конечно это не исключает работы с ini см. сообщение FeyFre.Отсюда вытекает одно неудобство.
Infocatcher wrote:в случае с хранением настроек в реестре править их пользователю будет гораздо менее удобно, чем *.ini.
Тогда можно сделать, чтобы ini был нормального читабельного формата, чтобы его действительно можно было править вручную? А то эта ерунда как-то не способствует правке:Instructor wrote:...это не исключает работы с ini см. сообщение FeyFre.
Code: Select all
яю[и куча каких-то квадратиков (почему-то образец не вставился в форум)]