Page 77 of 97

Posted: Sat May 14, 2011 1:29 pm
by Fr0sT
Infocatcher
да, теперь запускается в обеих версиях)

Posted: Sat May 14, 2011 1:43 pm
by Infocatcher
По-моему, что-то не так с AkelPad.GetInstanceDll() :?
Или они и правда могут совпадать.

Posted: Sat May 14, 2011 2:22 pm
by Instructor
Сейчас удосужился проверить AkelPad.GetInstanceDll() - FeyFre видимо был прав. Похоже система оптимизирует загрузку DLL'ок и может возвращать одинаковый hInstanceDLL для разных процессов.

Добавлено:
Fr0sT wrote:Правда, у него другая проблема:...
Исправлено.

Обновил SearchReplace.js и LinesFilter.js на использование oSys.Call("kernel32::GetCurrentProcessId").

Posted: Sat May 14, 2011 5:10 pm
by Infocatcher
Instructor wrote:Обновил SearchReplace.js и LinesFilter.js на использование oSys.Call("kernel32::GetCurrentProcessId").
Эти-то, надеюсь, не совпадут? :D
А то я тут массовое обновление готовлю. :)

Posted: Sat May 14, 2011 6:00 pm
by Infocatcher
AESCrypt.js
Corrected calculation of window borders.

crypt.js
Implemented not nodal mode with Apply button (see -modal argument).
Added hotkeys and double clicks handling.

converter.js
Released test version.
Fixed restoring of minimized window.
Window position in systems with multiple monitors should be correctly restored.

getHash.js
Window position in systems with multiple monitors should be correctly restored.

goToLongestLine.js
Window position in systems with multiple monitors should be correctly restored.

LinesFilter_mod.js

runScript.js
Added F2 (Ctrl+S) hotkey – rewrite options (and remove arguments for removed files).

Posted: Sat May 14, 2011 6:43 pm
by Infocatcher

Posted: Sat May 14, 2011 7:57 pm
by Infocatcher
Кстати, помимо архивов со скриптами, надо бы и обновление сделать. :)
Например, добавить вкладку в AkelUpdater (и показывать ее только если плагин установлен).

Posted: Sat May 14, 2011 9:55 pm
by FeyFre
Infocatcher, тоже думал по этому поводу. Лучше обновление скриптов делать самим плагином - скрипты всё-таки его личные тараканы а не редактора. Добавить ещё одну функцию или параметр вызова существующей, которой запустится интерфейс загрузки. Ну и добавить параметр - список узлов, где искать обновления.

Posted: Sat May 14, 2011 10:06 pm
by Infocatcher
FeyFre
Ну, архивы уже выложены, обновленные версии можно вытаскивать из них. Надо сделать (и обновлять, да) список скрипт => версия и сверять версию, получаемую из текста скрипта, со списком.
А уж кто будет заниматься обновлениями, мне все равно, лишь бы они были. :D Мне и просто проверки хватит, ручками как-то надежнее. И можно изменения глянуть.
Но удобнее, когда все обновления в одном месте, пожалуй.

Posted: Sat May 14, 2011 11:00 pm
by Deim0s
Infocatcher,
Можно немного разъяснений, по обновлённому converter.js?
Аргумент в "Arguments for URIs converters" изменился: с -codePage=1251, на -codePageURI=1251.
Аргумент -codePage=1251 перенёсся в "Arguments for charsets converter" и в примерах (строка 86) появился: -type="Charset".
В тайпах же "Charset" не появился.
Вопрос :), я пока в ContextMenu, касательно перекодировки URI ни чего не менял, но всё работает и с параметром -codePage=1251. Взгляните если не трудно:

Code: Select all

    -"&Текст > URI (UTF-8)" Call("Scripts::Main", 1, "converter.js", `-mode=1 -dialog=false -saveOptions=0 -savePosition=false -saveSize=false '-type="URI"'`)
    -"Т&екст > URI (ANSI)" Call("Scripts::Main", 1, "converter.js", `-mode=1 -dialog=false -saveOptions=0 -savePosition=false -saveSize=false '-type="URI"' -codePage=1251`)
    -"Текст > URI Component (UTF-&8)" Call("Scripts::Main", 1, "converter.js", `-mode=1 -dialog=false -saveOptions=0 -savePosition=false -saveSize=false '-type="URIComponent"'`)
    -"Текст > URI Component (ANSI)" Call("Scripts::Main", 1, "converter.js", `-mode=1 -dialog=false -saveOptions=0 -savePosition=false -saveSize=false '-type="URIComponent"' -codePage=1251`)
    SEPARATOR
    -"URI Component > Тек&ст" Call("Scripts::Main", 1, "converter.js", `-mode=2 -dialog=false -saveOptions=0 -savePosition=false -saveSize=false '-type="URIComponent"' -codePage=1251`)

Posted: Sat May 14, 2011 11:49 pm
by Infocatcher
Deim0s
Забыл обновить описание. :)
Старые аргументы должны работать, там сделана проверка (если передается только -codePage без новых -codePageURI и -codePageBase64).
Но хорошо, что спросили, -type="charset" я сделал на пару месяцев позже и забыл про проверку на старые аргументы, так что сейчас там затирается значение по умолчанию для -codePage. :)

Поддержку старых аргументов я удалять в ближайшее время не собираюсь, но лучше заменить на -codePageURI.

Да, про -type="charset" я ведь тоже забыл написать.
Использовать примерно так (названия не особо, ну да ладно):

Code: Select all

-"Перекодировать в текущую кодировку" Call("Scripts::Main", 1, "converter.js", `-mode=2 -type="Charset" -codePage=-1 -dialog=false -saveOptions=0`)
-"Перекодировать из текущей кодировки" Call("Scripts::Main", 1, "converter.js", `-mode=1 -type="Charset" -codePage=-1 -dialog=false -saveOptions=0`)
Соответственно, если кодировка текущего документа – Windows-1251, получаем:
Íå÷òî <=> Нечто

Обновил: converter.js

Posted: Sun May 15, 2011 1:21 am
by Deim0s
Infocatcher,
...но лучше заменить на -codePageURI.
Ясно, заменил.
А вот про -type="Charset", любопытно, можно подробнее?
Каков алгоритм?
Каким образом перекодирует: -mode=1 -type="Charset" -codePage=-1, во что?
Попробовал перекодировать в текущую кодировку:

Code: Select all

иыъш-ярыъш
получил:

Code: Select all

8KJH-O@KJH
а не:

Code: Select all

Ёлки-палки
Как должно работать? :)

Posted: Sun May 15, 2011 9:29 am
by VladSh
KDJ wrote:Do you now see Russian language in ComboBox?
Yes, now I see :) Thank you!

Posted: Sun May 15, 2011 12:27 pm
by Infocatcher
Deim0s wrote:Каким образом перекодирует: -mode=1 -type="Charset" -codePage=-1, во что?

Code: Select all

encode: function(str) {
	return convertFromUnicode(str, codePage);
},
decode: function(str) {
	return convertToUnicode(str, codePage);
}
Соответственно, encode – это WideCharToMultiByte(), а decode – MultiByteToWideChar().
То есть это половина перекодирования.
Вот отличие от, например, такого:

Code: Select all

WScript.Echo(
	convertToUnicode(
		convertFromUnicode("бНОПНЯ", 20866),
		1251
	)
);
(Можно добавить в конец скрипта, результат покажется после закрытия окна*)
Deim0s wrote:Как должно работать? :)
В зависимости от кодировки текущего документа (F12 – Открыть как, хотя это скорее «кодировать как», потому как несохраненные документы не переоткрываются).

*Надо все же приделать возможность подключения скрипта через AkelPad.Include(). :) И -type="recode" какой-нибудь, на всякий случай.

Posted: Sun May 15, 2011 5:08 pm
by FeyFre
Ну, архивы уже выложены, обновленные версии можно вытаскивать из них.
Ну и толку что лежат. Архивы без метаданных мало чем полезны. Кроме того это архив общий, а мне бы не помешал бы личный, причем не только лежащий на http/https/ftp, но и остальными всевозможными способами обмена файлами(smb/nfs/rsync/rcp/sftp/git/svn/vss и т.д и т.п.)