Discuss and announce AkelPad plugins
Offline
Posts: 202 Joined: Sat Mar 28, 2015 2:36 pm
Location: Russia
Post
by Kley » Mon Aug 24, 2015 8:23 pm
Упс!
С AkelPad.ScriptNoMutex(), после объявления переменных
Имелось ввиду: добавление ScriptNoMutex() после объявления переменных в TabSwitch.js.
Так тоже падает:
Code: Select all
SET(128, If(`Call("Scripts::Main", 4, "EvalCmd.js", 'If (AkelPad.GetEditFile(0)) AkelPad.ScriptExitCode(1);')`, 0x0, 0x2))
"" Command(4101)
UNSET(128)
Попробую изложить по-конкретней:
1. Запускаю:
Code: Select all
"Список вкладок" Call("Scripts::Main", 1, "TabSwitch.js", `-Next=-1 -CtrlTab=false -RightLeft=true -MinTabs=1 -WindowMaxHeight=600`)
2. Щелкаю по "&Файл":
Code: Select all
"&Файл" Index(-1)
{
...
SET(128, If(`Call("Scripts::Main", 4, "EvalCmd.js", 'if (AkelPad.GetEditFile(0)) AkelPad.ScriptExitCode(1);')`, 0x0, 0x2))
"" Command(4101)
UNSET(128)
...
SEPARATOR1
"В&ыход Esc" Command(4109)
}
Win7 32, 64, XP (VirtualBox)
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Tue Aug 25, 2015 11:43 pm
VladSh
Возможно ли добавить в
RegJump.js включение/выключение редиректа WoW64?
Вроде две функции только вызвать:
Code: Select all
kernel32::Wow64DisableWow64FsRedirection
WshShell.Run(procRegEdit, 1, false);
kernel32::Wow64RevertWow64FsRedirection
На х64 ОС неудобно вызывать скрипт в х86 версии AkelPad.
Offline
Posts: 2247 Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine
Post
by FeyFre » Wed Aug 26, 2015 9:20 am
Skif_off
Disables file system redirection for the calling thread .
Думаете всё так просто?
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Wed Aug 26, 2015 11:06 am
FeyFre
Всё ещё проще: меняем местами строки 39 и 40, переменную procRegEdit задаём так:
Code: Select all
var procRegEdit = WshShell.ExpandEnvironmentStrings("%WinDir%") + "\\regedit.exe";
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Thu Aug 27, 2015 9:46 am
Infocatcher
Заметил случайно
Add basic support for quoted-printable , но в коллекцию пока не попал - уже можно пользоваться?
У меня декодирование сделано >>> У меня декодирование сделано >>> через за..., т.е. буфер обмена:
JScript + AutoIt (из-за возможных проблем с кириллицей - с парой MsgBox, чтобы подтверждать правильное декодирование кириллицы из KOI-8R или UTF-8 ), с удовольствием бы выпилил
Такой момент ещё: когда разбирался, нашёл инфу, что в Quoted-Printable длина строки не должна превышать 76 символов (в e-mail по крайней мере), поэтому софт режет, вставляя "=" в конце строки,
пришлось заморочиться, чтобы слова не разрывало и сохранялась разбивка на строки: пришлось заморочиться, чтобы слова не разрывало и сохранялась разбивка на строки:
- текст резался в массив, в качестве разделителя - перенос строк;
- ячейки массива объединялись в одну строку, в качестве разделителя "|";
- замена "=|" на "";
- замена "|" на символ переноса строки (в начале скрипта определяется, что используется - \r, \n или \r\n).
Думаю, можно проще, но тогда казалось, что так надёжнее ведь разрывать можно и не по слову, а по пробелу - тогда не будет "=" в конце строки.
.
С converter.js подобной проблемы нет? К сожалению, пока не знаю, когда смогу проверить.
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Thu Aug 27, 2015 12:36 pm
Instructor
Правильно ли понимаю, что скрипт
UndoPos.js и команды 4199/4200 - одно и то же?
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Thu Aug 27, 2015 7:10 pm
SelectRangeText.js
Added: dialog position and "Offset" parameter are saved in ini file.
Changed:
- now dialog box is modeless,
- shortcut key Shift+Alt+Del(Ins) - center dialog box (instead of Shift+Alt+C).
Offline
Posts: 1862 Joined: Mon Aug 06, 2007 1:07 pm
Contact:
Post
by Infocatcher » Fri Aug 28, 2015 6:54 am
Да пока не особо, только через агрументы и только в одну кодировку пока.
Кодировку потом так можно:
Code: Select all
-"Переко&дировать в текущую кодировку" Call("Scripts::Main", 1, "converter.js", `-mode=2 -type="Charset" -codePage=-1 -dialog=false -saveOptions=0`)
Skif_off wrote: Такой момент ещё: когда разбирался, нашёл инфу, что в Quoted-Printable длина строки не должна превышать 76 символов (в e-mail по крайней мере), поэтому софт режет, вставляя "=" в конце строки
Там пока простейшая замена.
Так что если есть примеры закодированных текстов, хотелось бы их увидеть.
Offline
Posts: 1862 Joined: Mon Aug 06, 2007 1:07 pm
Contact:
Post
by Infocatcher » Fri Aug 28, 2015 8:57 am
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Fri Aug 28, 2015 10:55 am
Infocatcher
Нашёл в
RFC 2045 :
The Quoted-Printable encoding REQUIRES that encoded lines be no more than 76 characters long. If longer lines are to be encoded with the Quoted-Printable encoding, "soft" line breaks.
Пример, написал в черновик в Sylpheed: Пример, написал в черновик в Sylpheed:
Code: Select all
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
=D0=A2=D0=B0=D0=BA=D0=BE=D0=B9 =D0=BC=D0=BE=D0=BC=D0=B5=D0=BD=D1=82 =D0=B5=
=D1=89=D1=91: =D0=BA=D0=BE=D0=B3=D0=B4=D0=B0 =D1=80=D0=B0=D0=B7=D0=B1=D0=B8=
=D1=80=D0=B0=D0=BB=D1=81=D1=8F, =D0=BD=D0=B0=D1=88=D1=91=D0=BB =D0=B8=D0=BD=
=D1=84=D1=83, =D1=87=D1=82=D0=BE =D0=B2 Quoted-Printable =D0=B4=D0=BB=D0=B8=
=D0=BD=D0=B0 =D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8 =D0=BD=D0=B5 =D0=B4=D0=BE=
=D0=BB=D0=B6=D0=BD=D0=B0 =D0=BF=D1=80=D0=B5=D0=B2=D1=8B=D1=88=D0=B0=D1=82=
=D1=8C 76 =D1=81=D0=B8=D0=BC=D0=B2=D0=BE=D0=BB=D0=BE=D0=B2 (=D0=B2 e-mail =
=D0=BF=D0=BE =D0=BA=D1=80=D0=B0=D0=B9=D0=BD=D0=B5=D0=B9 =D0=BC=D0=B5=D1=80=
=D0=B5), =D0=BF=D0=BE=D1=8D=D1=82=D0=BE=D0=BC=D1=83 =D1=81=D0=BE=D1=84=D1=
=82 =D1=80=D0=B5=D0=B6=D0=B5=D1=82, =D0=B2=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D1=
=8F=D1=8F "=3D" =D0=B2 =D0=BA=D0=BE=D0=BD=D1=86=D0=B5 =D1=81=D1=82=D1=80=D0=
=BE=D0=BA=D0=B8, =D0=BF=D1=80=D0=B8=D1=88=D0=BB=D0=BE=D1=81=D1=8C =D0=B7=D0=
=B0=D0=BC=D0=BE=D1=80=D0=BE=D1=87=D0=B8=D1=82=D1=8C=D1=81=D1=8F, =D1=87=D1=
=82=D0=BE=D0=B1=D1=8B =D1=81=D0=BB=D0=BE=D0=B2=D0=B0 =D0=BD=D0=B5 =D1=80=D0=
=B0=D0=B7=D1=80=D1=8B=D0=B2=D0=B0=D0=BB=D0=BE =D0=B8 =D1=81=D0=BE=D1=85=D1=
=80=D0=B0=D0=BD=D1=8F=D0=BB=D0=B0=D1=81=D1=8C =D1=80=D0=B0=D0=B7=D0=B1=D0=
=B8=D0=B2=D0=BA=D0=B0 =D0=BD=D0=B0 =D1=81=D1=82=D1=80=D0=BE=D0=BA=D0=B8:
- =D1=82=D0=B5=D0=BA=D1=81=D1=82 =D1=80=D0=B5=D0=B7=D0=B0=D0=BB=D1=81=D1=8F=
=D0=B2 =D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2, =D0=B2 =D0=BA=D0=B0=D1=87=D0=
=B5=D1=81=D1=82=D0=B2=D0=B5 =D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=B8=D1=
=82=D0=B5=D0=BB=D1=8F - =D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81 =D1=81=
=D1=82=D1=80=D0=BE=D0=BA;
- =D1=8F=D1=87=D0=B5=D0=B9=D0=BA=D0=B8 =D0=BC=D0=B0=D1=81=D1=81=D0=B8=D0=B2=
=D0=B0 =D0=BE=D0=B1=D1=8A=D0=B5=D0=B4=D0=B8=D0=BD=D1=8F=D0=BB=D0=B8=D1=81=
=D1=8C =D0=B2 =D0=BE=D0=B4=D0=BD=D1=83 =D1=81=D1=82=D1=80=D0=BE=D0=BA=D1=83=
, =D0=B2 =D0=BA=D0=B0=D1=87=D0=B5=D1=81=D1=82=D0=B2=D0=B5 =D1=80=D0=B0=D0=
=B7=D0=B4=D0=B5=D0=BB=D0=B8=D1=82=D0=B5=D0=BB=D1=8F "|";
- =D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0 "=3D|" =D0=BD=D0=B0 "";
- =D0=B7=D0=B0=D0=BC=D0=B5=D0=BD=D0=B0 "|" =D0=BD=D0=B0 =D1=81=D0=B8=D0=BC=
=D0=B2=D0=BE=D0=BB =D0=BF=D0=B5=D1=80=D0=B5=D0=BD=D0=BE=D1=81=D0=B0 =D1=81=
=D1=82=D1=80=D0=BE=D0=BA=D0=B8 (=D0=B2 =D0=BD=D0=B0=D1=87=D0=B0=D0=BB=D0=B5=
=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82=D0=B0 =D0=BE=D0=BF=D1=80=D0=B5=D0=B4=
=D0=B5=D0=BB=D1=8F=D0=B5=D1=82=D1=81=D1=8F, =D1=87=D1=82=D0=BE =D0=B8=D1=81=
=D0=BF=D0=BE=D0=BB=D1=8C=D0=B7=D1=83=D0=B5=D1=82=D1=81=D1=8F - \r, \n =D0=
=B8=D0=BB=D0=B8 \r\n).
=D0=94=D1=83=D0=BC=D0=B0=D1=8E, =D0=BC=D0=BE=D0=B6=D0=BD=D0=BE =D0=BF=D1=80=
=D0=BE=D1=89=D0=B5, =D0=BD=D0=BE =D1=82=D0=BE=D0=B3=D0=B4=D0=B0 =D0=BA=D0=
=B0=D0=B7=D0=B0=D0=BB=D0=BE=D1=81=D1=8C, =D1=87=D1=82=D0=BE =D1=82=D0=B0=D0=
=BA =D0=BD=D0=B0=D0=B4=D1=91=D0=B6=D0=BD=D0=B5=D0=B5 =D0=B2=D0=B5=D0=B4=D1=
=8C =D1=80=D0=B0=D0=B7=D1=80=D1=8B=D0=B2=D0=B0=D1=82=D1=8C =D0=BC=D0=BE=D0=
=B6=D0=BD=D0=BE =D0=B8 =D0=BD=D0=B5 =D0=BF=D0=BE =D1=81=D0=BB=D0=BE=D0=B2=
=D1=83, =D0=B0 =D0=BF=D0=BE =D0=BF=D1=80=D0=BE=D0=B1=D0=B5=D0=BB=D1=83 - =
=D1=82=D0=BE=D0=B3=D0=B4=D0=B0 =D0=BD=D0=B5 =D0=B1=D1=83=D0=B4=D0=B5=D1=82 =
"=3D" =D0=B2 =D0=BA=D0=BE=D0=BD=D1=86=D0=B5 =D1=81=D1=82=D1=80=D0=BE=D0=BA=
=D0=B8.
=D0=A1 converter.js =D0=BF=D0=BE=D0=B4=D0=BE=D0=B1=D0=BD=D0=BE=D0=B9 =D0=BF=
=D1=80=D0=BE=D0=B1=D0=BB=D0=B5=D0=BC=D1=8B =D0=BD=D0=B5=D1=82? =D0=9A =D1=
=81=D0=BE=D0=B6=D0=B0=D0=BB=D0=B5=D0=BD=D0=B8=D1=8E, =D0=BF=D0=BE=D0=BA=D0=
=B0 =D0=BD=D0=B5 =D0=B7=D0=BD=D0=B0=D1=8E, =D0=BA=D0=BE=D0=B3=D0=B4=D0=B0 =
=D1=81=D0=BC=D0=BE=D0=B3=D1=83 =D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=B8=
=D1=82=D1=8C.
Сейчас у меня так сделано: Сейчас у меня так сделано:
http://rghost.ru/8kbtR2PPk , скрипт AutoIt с комментариями, если что, AutoIt3.exe можно взять из
дистрибутива . По сути методом проб и ошибок, на реальных файлах, с чем сам столкнулся - UTF-8, KOI-8R, iso-8859-5, CP1251.
Будете пробовать - в диалогах жмите "Нет", чтобы всё увидеть, сделать полностью без участия глаз пользователя не получилось. Только аккуратнее, пожалуйста: никак не дойдут руки дописать предварительное сохранение уже существующего в буфере обмена
Кажется, видел, но не с моими знаниями разбираться
Запустил converter.js с гитхаба с параметрами
Code: Select all
-mode=2 -type="QuotedPrintable" -dialog=false -saveOptions=0
- ошибка.
Offline
Posts: 1161 Joined: Sun Oct 20, 2013 11:44 am
Post
by Skif_off » Fri Aug 28, 2015 3:27 pm
KDJ
SelectRangeText.js
with Russian with Russian
Code: Select all
case 1049: //Russian
sTxtCaption = "Диапазон выделения";
sTxtCoordin = "Координаты";
sTxtLine = "Строка";
sTxtColumn = "Колонка";
sTxtBegin = "Начало";
sTxtEnd = "Конец";
sTxtCaret = "Каретка";
sTxtOffset = "&Смещение";
sTxtColSel = "&Колонка";
sTxtCarPos = "Позиция каретки";
sTxtCarPos0 = "L.верх";
sTxtCarPos1 = "R.верх";
sTxtCarPos2 = "R.низ";
sTxtCarPos3 = "L.низ";
sTxtApply = "Применить";
sTxtClose = "Закрыть";
break;
stops with error code 800401F2 (line: 105, symbol: 1).
Win7x64, AkelPad 4.9.5 test.
Add:
It's passed after reboot OS.
Last edited by
Skif_off on Fri Aug 28, 2015 9:24 pm, edited 3 times in total.
Offline
Site Admin
Posts: 6311 Joined: Thu Jul 06, 2006 7:20 am
Post
by Instructor » Fri Aug 28, 2015 3:30 pm
Skif_off wrote: Правильно ли понимаю, что скрипт
UndoPos.js и команды 4199/4200 - одно и то же?
Нет.
UndoPos.js переходит на ближайшую к каретке позицию отмены, а 4199/4200 к отмене по очередности её занесения в буфер отмен.
Offline
Posts: 1949 Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland
Post
by KDJ » Sat Aug 29, 2015 1:43 pm
Skif_off wrote: SelectRangeText.js
with Russian with Russian
Code: Select all
case 1049: //Russian
sTxtCaption = "Диапазон выделения";
sTxtCoordin = "Координаты";
sTxtLine = "Строка";
sTxtColumn = "Колонка";
sTxtBegin = "Начало";
sTxtEnd = "Конец";
sTxtCaret = "Каретка";
sTxtOffset = "&Смещение";
sTxtColSel = "&Колонка";
sTxtCarPos = "Позиция каретки";
sTxtCarPos0 = "L.верх";
sTxtCarPos1 = "R.верх";
sTxtCarPos2 = "R.низ";
sTxtCarPos3 = "L.низ";
sTxtApply = "Применить";
sTxtClose = "Закрыть";
break;
stops with error code 800401F2 (line: 105, symbol: 1).
Win7x64, AkelPad 4.9.5 test.
Not reproduced. For me all works properly.
Thanks for the translation.
SelectRangeText.js
Added Russian translation (by
Skif_off ).
Offline
Posts: 3217 Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:
Post
by VladSh » Mon Aug 31, 2015 5:42 pm
Kley wrote: VladSh
Попробуйте удалить "?" в конце строки:
Code: Select all
var url="http://translate.google.com/translate_a/t?";
У меня так работает
Спасибо!
Поправил.