Эта штука только для папки Plugins работает или можно передавать внешний (не AkelPad\...) путь?
Как видите работает только относительный путь и, забыл написать, данный метод ("..\\Sessions") будет работать, только, если программа настроена на сохранение в ini.
Posted: Wed Jun 08, 2011 3:23 pm
by VladSh
Не увидел, потому и спрашиваю Если 2 точки стоят, то это не факт, что там нет какой-нибудь хитрой обработки для такого формата записи; вполне возможно, что там ещё какие-то обработчики есть, нам же, обычным пользователям, это неизвестно ))
Если используются относительные пути, то чтобы прочитать значение из AkelPad.ini надо передавать что-то типа этого: "..\AkelFiles\\AkelPad"?
Posted: Sun Jun 12, 2011 6:04 pm
by Instructor
Добавлено: метод AkelPad.CallEx() - вызвать плагин AkelPad'а с флагами. Добавлено: параметр "nWait" в методе AkelPad.Exec() теперь может равняться "2" - ожидать до тех пор, пока процесс не начнет ожидать ввода от пользователя, и автоматически присвоить возвращаемое значение нулю.
Added: method AkelPad.CallEx() - Call AkelPad plugin with flags. Added: parameter "nWait" in method AkelPad.Exec() now can be "2" - waits until the specified process is waiting for user input, automatically returning 0.
Предлагаю в метод Include добавить опциональный параметр: сообщать об ошибке отсутствия подключаемого скрипта или нет. И если передано True, то выводить обычное сообщение, без генерации ошибки.
Posted: Sat Jun 25, 2011 1:36 pm
by Instructor
Добавлено: метод AkelPad.Debug() - отладить использование памяти.
Instructor
А зачем было менять обработку аргументов?
Call("Scripts::Main", 1, "InsertDate.js", "`yyyy-MM-dd`")
Стало вставлять с внутренними кавычками.
А с
Call("Scripts::Main", 1, "copyPath.js", `"%f" "<file>.<ext>"`)
вообще проблемы – или кавычку передает, или пути с пробелами не понимает.
Предлагаю унифицировать параметр, имеющий отрицательное значение, в SetSel, GetTextRange и т.п. с EM_EXLINEFROMCHAR.
В первых -1 и все последующие отрицательные - это последняя строка файла,
а в EM_EXLINEFROMCHAR:
-1 - текущая строка;
-2 - последняя строка файла.
Лучше сделать везде как в EM_EXLINEFROMCHAR, проще было бы ориентироваться (однообразие) и писать скрипты (не нужна дополнительная обработка логики - что-то исключать и т.п. - передал число и забыл, т.к. знаешь, что всё отработает одинаково).
Ещё (вернусь чуть назад) удобно для отладки было бы:
- в SetSel 2-й параметр необязательный;
- в при вызове Echo и закрытии путём нажатия на крестик полностью останавливать работу скрипта (я сегодня при отладке в цикле чуть опять с ума не сошёл клацать - пришлось снимать задачу).
Posted: Tue Jul 19, 2011 6:27 pm
by Instructor
Добавлено: метод AkelPad.GetArgLine() - получить строку аргументов. Исправлено: вызов AkelPad.GetArgValue("", "") приводил к ошибке в программе.
Added: method AkelPad.GetArgLine() - retrieve argument line. Fixed: AkelPad.GetArgValue("", "") call cause program error.
---------------------------
Scripts плагин
---------------------------
Скрипт: C:\Program Files (x86)\AkelPad\AkelFiles\Plugs\Scripts\SpellCheckMSWord.js
Строка: 23
Символ: 7
Ошибка: Невозможно создание объекта сервером программирования объектов
Код: 800A01AD
Источник: Ошибка выполнения Microsoft JScript
---------------------------
Да Нет
---------------------------
.
Раньше такого не было, я точно помню, т.к. там ещё дальше идёт проверка if (Word) {...} и на Else выдавалось сообщение, что Word не установлен.
Posted: Fri Sep 16, 2011 9:46 pm
by FeyFre
VladSh
Ох мне кажется что нужно гуглить где-то в другом месте. 64-битный COM-сервер против 32-битного клиента у меня вызывают рвотные рефлексы. То ли политики какие-то запрещающие стоят, то ли суррогаты глюкавые, то ли ещё что. Не исключено что COM просто так левое приложение(АР) не пустит к себе(нужно что-бы AP приставился COM-у: AppId свой указал, за которым записаны права).
Posted: Fri Sep 23, 2011 5:48 pm
by se7h
идея: сделать возможным выделение (удерживая shift или ctrl) сразу нескольких скриптов для дальнейшего их изменения, в случае мультивыделения кнопки "Запустить" и "Назначить" становились бы неактивными
ещё хотел задать вопрос:
AkelPad.Include всегда ругается, если подключаемый файл не найден или это можно как-то отключить (тихий режим)?
Posted: Tue Sep 27, 2011 7:44 am
by VladSh
Плагин вроде как-то обрабатывает js.. Можно ли к стандартному Array добавить метод indexOf, а то как-то неудобно без него?
Автор: Barmaley.e, дата: 28 января, 2010 - 21:58
В новых браузерах есть метод indexOf (как у строки).
Для остальных нужно что-то вроде:
if(!Array.prototype.indexOf)
{
Array.prototype.indexOf = function(elt /*, from*/)
{
var len = this.length;
var from = Number(arguments[1]) || 0;
from = (from < 0)
? Math.ceil(from)
: Math.floor(from);
if (from < 0)
from += len;
for (; from < len; from++)
{
if (from in this &&
this[from] === elt)
return from;
}
return -1;
};
}
, но я не уверен в реализации(кстати Ваша тоже не совсем соотв.
When the indexOf method is called with one or two arguments, the following steps are taken:
1. Let O be the result of calling ToObject passing the this value as the argument.
2. Let lenValue be the result of calling the [[Get]] internal method of O with the argument "length".
3. Let len be ToUint32(lenValue).
4. If len is 0, return -1.
5. If argument fromIndex was passed let n be ToInteger(fromIndex); else let n be 0.
6. If n ≥ len, return -1.
7. If n ≥ 0, then
a. Let k be n.
8. Else, n<0
a. Let k be len - abs(n).
b. If k is less than 0, then let k be 0.
9. Repeat, while k<len
a. Let kPresent be the result of calling the [[HasProperty]] internal method of O with argument ToString(k).
b. If kPresent is true, then
I. Let elementK be the result of calling the [[Get]] internal method of O with the argument ToString(k).
II. Let same be the result of applying the Strict Equality Comparison Algorithm to searchElement and elementK.
III. If same is true, return k.
c. Increase k by 1.
10. Return -1.