Page 17 of 74
Posted: Fri Jul 16, 2010 12:08 pm
by VladSh
VladSh wrote:Fr0sT wrote:3) ReplaceSel после замены убирает выделение. Имхо, неудобно. Убрать выделение в скрипте намного легче, чем восстановить.
Тогда лучше дополнительным необязательным параметром, т.к. сохранить выделение - всё же очень редкая задача, которая в некоторых случаях достаточно легко решается.
Только что в нескольких скриптах столкнулся с этим... действительно, иногда неудобно восстанавливать, особенно когда размер вставляемого текста отличается от выделенного.
Я за дополнительный необязательный параметр!

WScript methods
Posted: Fri Jul 16, 2010 5:49 pm
by Surveyor
Instructor,
Re: accessing Shell object in WScript:
Instructor wrote:var WshShell=new ActiveXObject("WScript.shell");
Thanks! (I should have thought of that...)
But, what about accessing methods of the WScript object?
Example: how do you access WScript.Quit or WScript.Sleep?
Posted: Fri Jul 16, 2010 7:13 pm
by Fr0sT
Surveyor, WScript.Quit and WScript.Sleep are working as is.
Posted: Sat Jul 17, 2010 12:25 pm
by VladSh
Как-то странно устанавливается фокус на кнопку у WScript.Echo, если вызывать из скрипта другой скрипт с помощью eval(AkelPad.ReadFile(...)), то при вызове из этого вызываемого скрипта фокус устанавливается, а в запускаемом скрипте - нет...
Сделайте пожалуйста чтобы фокус устанавливался всегда.
Иногда неправильно определяется ошибка.
Ситуация-1: я написал typeOf (надо typeof), а сообщение мне пишет что-то типа "Не найден объект"...
Ситуация-2: был скрипт:
Code: Select all
function test()
{
//...
{
//...
AkelPad.MessageBox(hWndEdit, "Текст", "Заголовок", /*MB_ICONEXCLAMATION*
//...
}
}
при выполнении писало "Незавершённая строковая константа" - это правильно (см. после MB_ICONEXCLAMATION).
Но курсор устанавливался очень далеко внизу, совсем в другой функции... После того, как я вынес вышеуказанный код в отдельный файл скрипта и попытался его выполнить, то курсор установился на последнюю строку скрипта, т.е. на последнюю закрывающую скобку.
Всё это очень неудобно - долго искать, в чём ошибка...
Можно ли поправить?
Posted: Sat Jul 17, 2010 3:55 pm
by Infocatcher
VladSh wrote:Ситуация-1: я написал typeOf (надо typeof), а сообщение мне пишет что-то типа "Не найден объект"...
Ну, в принципе, он и не найден. Только нормальные интерпретаторы обычно выдают что-то вроде
Ошибка: typeOf is not defined
Тут, кстати, должно сообщать
'typeOf' - определение отсутствует
Или это от версии wscript.exe & Co зависит.
И, думается, плагин не занимается выдачей таких вот сообщений. И сделать тут ничего не удастся. Если только не написать свой «валидатор» или взять готовый. Но это очень большой велосипед выйдет.
В IE вон тоже неадекватные сообщения об ошибках случаются – движок-то тот же самый.
P.S. Кстати, да. Хорошо бы и правда какую-нибудь консоль и API для вывода туда сообщений.
Posted: Tue Jul 20, 2010 1:09 pm
by FeyFre
Хотелка... Нет, даже не хотелка, а потребность.
Добавить в скрипты в функции MemCopy, MemRead тип DT_BYTE. Надо. Некоторое API работает с байтами до сих пор, да и буфера обратывать побайтно есть нужда.
Posted: Tue Jul 20, 2010 1:25 pm
by Instructor
FeyFre
Хотелка...
Пример?
Posted: Tue Jul 20, 2010 2:03 pm
by FeyFre
Instructor
- WinUser.h определяет достаточное количество функций и структур которые содержат байтовые буфера. Вот пример функции.
Code: Select all
WINUSERAPI
BOOL
WINAPI
SetLayeredWindowAttributes(
__in HWND hwnd,
__in COLORREF crKey,
__in BYTE bAlpha,
__in DWORD dwFlags);
Да и в других файлах есть (особенно связанных с коммуникациями структурах, например тот же DCB для работы с последовательным портом) - А если мне просто нужно прочитать бинарный файл, и распарить его, или наоборот что-то записать в него? А делать это я буду через буффер AkelPad.MemAlloc() с которым буду работать побайтно, ведь может же быть размер файла нечётный.
- Делаю сейчас связку Zen-Coding <-> AkelPad, и там нужно реализовать чтение/запись бинарных файлов(для вставки inline данных в ссылку, например <img src="data:image/gif;base64, <кодированное-содержимое>" alt=""/>) и выдать содержимое нагора, а я не могу прочитать из буффера меньше чем 2 байта.
Posted: Tue Jul 20, 2010 2:21 pm
by Instructor
FeyFre
Посмотрим.
Posted: Tue Jul 20, 2010 2:23 pm
by Instructor
Добавлено: опциональный параметр для выделения вставленного текста в метод ReplaceSel().
Added: optional parameter for the pasted text selection in the ReplaceSel() method.
Scripts plugin v6.3
Posted: Tue Jul 20, 2010 2:38 pm
by FeyFre
Instructor
Спасибо
Posted: Tue Jul 20, 2010 5:17 pm
by VladSh
Instructor wrote:Добавлено: опциональный параметр для выделения вставленного текста в метод ReplaceSel().
Здорово!
Только по умолчанию наверное не это
false не выделять вставленный текст (по умолчанию).
т.к. текст остаётся выделенным.
Ещё заметил трабл:
текущий скрипт не запускается по команде "Выполнить", т.е. по
Ctrl+F5.. Очень было удобно производить отладку текущего скрипта.. теперь с каждым скриптом приходится назначать какую-нить комбинацию клавиш

Posted: Tue Jul 20, 2010 5:23 pm
by Instructor
Исправлено: опциональный параметр для выделения вставленного текста в методе ReplaceSel() был всегда true.
Fixed: optional parameter for the pasted text selection in the ReplaceSel() method was always true.
Scripts plugin v6.4
Posted: Tue Jul 20, 2010 5:30 pm
by Instructor
Ещё заметил трабл:
Code: Select all
/// Запуск открытого на редактирование скрипта.
var fso=new ActiveXObject("Scripting.FileSystemObject");
var pFileName=fso.GetFileName(AkelPad.GetEditFile(0));
AkelPad.Call("Scripts::Main", 1, pFileName);
Posted: Tue Jul 20, 2010 5:32 pm
by VladSh
Instructor wrote:Исправлено: опциональный параметр для выделения вставленного текста в методе ReplaceSel() был всегда true.
Спасибо за оперативность! Работает!
Но только из Plugs-пака смог обновить, а отдельно скачивал, но версия старая..