Scripts plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh
INI файл - вполне себе читабельный. У меня читаются все. А "яю[и куча каких-то квадратиков (почему-то образец не вставился в форум)]" означает что Вы открыли не в той кодировке(и что шрифта под те символы у Вас нету). "яю" это ни что иное как BOM, который, кстати, прямо указывает что текст в UTF16-LE, на котором работает ядро NT.

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

Post by VladSh »

FeyFre wrote:"яю[и куча каких-то квадратиков (почему-то образец не вставился в форум)]" означает что Вы открыли не в той кодировке(и что шрифта под те символы у Вас нету).
Что значит "открыли не в той кодировке"? Я его просто открыл AkelPad'ом, как всегда файлы открываю, у него ж ведь есть автоопределение кодировки?
При принудительном открытии с помощью UTF16-LE всё отобразилось правильно (значит дело не в шрифтах), но как обычный пользователь узнает, что это именно UTF16-LE? Он просто открывает файл и всё.
Кстати, в строке состояния почему-то светится "Win 1251 (ANSI - кириллица)", а не "UTF16-LE", т.е., как я понимаю, файл был создан как 1251 (ANSI - кириллица), а текст в него был зафигачен в UTF16-LE. Или нет?

Добавлено: Какая-то странная баго-фича... Открыл настройки, в поле "Распознавание кодировки" вместо "Кириллица (1251, OEM, KOI8-R, UTF-8)" поставил "нет", после чего AkelPad стал правильно определять кодировку (текст читаем, и в строке состояния пишет "1200 UTF-16 LE"). Потом переключил с "нет" обратно, и всё равно работает; чудеса...

Offline
Posts: 2248
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Что значит "открыли не в той кодировке"? Я его просто открыл AkelPad'ом, как всегда файлы открываю, у него ж ведь есть автоопределение кодировки?
Да, есть, но АР запоминает с какой кодировкой файл открывали в прошлый раз, и переопределить не пытается. Я подозреваю что у Вас именно этот случай.
При принудительном открытии с помощью UTF16-LE всё отобразилось правильно (значит дело не в шрифтах)
В шрифтах. Если Вы задали принудительно открыть в другой кодировки, значит и АР вполне отображает другие кодовые точки UNICODE :P
но как обычный пользователь узнает, что это именно UTF16-LE? Он просто открывает файл и всё.
Если речь идет о 12-летнем ребенке, то да, нужно что-бы это было где-то написано, остальные уже выросли и смогут найти ответ на это вопрос самостоятельно(и искать даже не нужно, итак на каждом углу пищат о поддержки UNICODE в ядре NT).
Кстати, в строке состояния почему-то светится "Win 1251 (ANSI - кириллица)", а не "UTF16-LE", т.е., как я понимаю, файл был создан как 1251 (ANSI - кириллица), а текст в него был зафигачен в UTF16-LE. Или нет?
Смотрите выше. Системные функции работаю с файлом, как с байтами, а не как с каким-то там текстом, в какой-то там кодировке, с каким-то там стилем переноса строк. Файл создали, записали туда текст в том виде, в котором он хранится в памяти(UNICODE) и закрыли. Вы же открыли АР, АР посмотрел что прошлый раз открывал его в такой-то кодировке, и этот раз тоже так откроет.
Потом переключил с "нет" обратно, и всё равно работает; чудеса...
Не чудеса, а память(см.выше)

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

Post by VladSh »

FeyFre wrote:...АР запоминает с какой кодировкой файл открывали в прошлый раз, и переопределить не пытается.
...Если Вы задали принудительно открыть в другой кодировки, значит и АР вполне отображает другие кодовые точки UNICODE
...Вы же открыли АР, АР посмотрел что прошлый раз открывал его в такой-то кодировке, и этот раз тоже так откроет.
VladSh wrote:Я его просто открыл AkelPad'ом, как всегда файлы открываю
что означает, что при первом открытии (и позже тоже) я не задавал ничего принудительно, а это либо баг с автоопределением либо с настройками проги.

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

Post by Instructor »

VladSh
FAQ

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:
Infocatcher wrote:Но вот новый SearchReplace.js что-то не учитывает.
Исправлено.
А если запись в ini невозможна (я открывал файл в Word'е), то AkelPad зависает (Win 7 x86).

[Upd]
И надо бы как-нибудь оптимизировать, чтобы не записывать поверх то же самое.

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

Post by VladSh »

Помятуя нашу "дискуссию" из 2-х сообщений... :)
Можно ли как-то расширить функционал AkelPad.ScriptSettings([]) для чтения других (не скриптовых) настроек? Добавить необязательный параметр.., если, к примеру, "1", значит будем читать настройки плага, имя которого укажем в oSet.Begin(sPluginName, ...)

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

Post by Instructor »

Infocatcher wrote:А если запись в ini невозможна (я открывал файл в Word'е), то AkelPad зависает (Win 7 x86).
Главное на сообщение сразу ответить :)
И надо бы как-нибудь оптимизировать, чтобы не записывать поверх то же самое.
Это целиком на скрипте лежит.

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

Post by VladSh »

Когда из контекстного меню обращаешься к js-файлу, который пуст, то получаем такое сообщение:
Scripts плагин wrote:Не удается прочитать файл "C:\Program Files\AkelPad\AkelFiles\Plugs\Scripts\test.js".
---------------------------
ОК
P.S. Опять проблемы с ChmKeyword.js, - прога валится.
И вообще она стала работать как-то нестабильно, иногда вылетает при попытке открыть файл из папки из списка свежих (скрипт OpenFromFileFolder.js)..
Думаю, что проблема не в конкретном скрипте, а системная, т.к. сегодня прога 1 раз вылетела когда вызвал окно настроек Coder'а, а 1 раз когда вызвал окно скриптов. За сегодня количество крашей перевалило уже за десяток.

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

Post by Instructor »

VladSh wrote:Когда из контекстного меню обращаешься к js-файлу, который пуст, то получаем такое сообщение:
Сойдет :)
Опять проблемы...
Это мало, что дает. Нужна конкретная последовательность действий, чтобы воспроизвести ошибку.


Редактировано:
Infocatcher wrote:А если запись в ini невозможна (я открывал файл в Word'е), то AkelPad зависает (Win 7 x86).
Исправлено.

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

Post by Instructor »

Добавлено: в методе AkelPad.ScriptSettings().Read теперь можно указать значение по умолчанию.
Исправлено: зависание программы при появлении сообщения из потока AkelPad'а, в то время как скрипт с диалогом ожидает ответа на сообщение.

Added: in AkelPad.ScriptSettings().Read method now possible to specify default value.
Fixed: program hang at the message from the AkelPad's thread, while the script with the dialog waits for a message response.


Scripts plugin v8.1

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:Добавлено: в методе AkelPad.ScriptSettings().Read теперь можно указать значение по умолчанию.
Спасибо!
Даже можно обойтись без оберток, если постараться. :D

Offline
Posts: 15
Joined: Mon Feb 28, 2011 11:00 am

Post by us-us »

Сведущие люди подскажут, а использование метода

Code: Select all

AkelPad.TextFind
допустимо только из js скриптов?
Пытаюсь вызвать из vbs - ругается: "предполагается наличие ')' "
Передаю вот в таком виде:

Code: Select all

hEditWnd=AkelPad.GetEditWnd()
AkelPad.TextFind(hEditWnd, "text", 0x00000001|0x00200000)

Offline
Posts: 874
Joined: Sat Jan 16, 2010 2:03 pm

Post by opk44 »

us-us wrote:Пытаюсь вызвать из vbs - ругается
При использовании vbs и синтаксис следует использовать соответствующий

Code: Select all

hEditWnd=AkelPad.GetEditWnd 
AkelPad.TextFind hEditWnd, "text", &H00200001

Offline
Posts: 15
Joined: Mon Feb 28, 2011 11:00 am

Post by us-us »

opk44

Спасибо!
А где можно посмотреть флаги в формате vbs? Или каким образом их переводить из js?
Post Reply