Page 63 of 99

Posted: Mon Aug 24, 2015 8:23 pm
by Kley
Упс!
С 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)

Posted: Tue Aug 25, 2015 4:06 am
by Instructor
Kley
Теперь понятно. TabSwitch.js 4.3.

Posted: Tue Aug 25, 2015 11:43 pm
by Skif_off
VladSh
Возможно ли добавить в RegJump.js включение/выключение редиректа WoW64?
Вроде две функции только вызвать:

Code: Select all

kernel32::Wow64DisableWow64FsRedirection
WshShell.Run(procRegEdit, 1, false);
kernel32::Wow64RevertWow64FsRedirection
На х64 ОС неудобно вызывать скрипт в х86 версии AkelPad.

Posted: Wed Aug 26, 2015 9:20 am
by FeyFre
Skif_off
Disables file system redirection for the calling thread.
Думаете всё так просто?

Posted: Wed Aug 26, 2015 11:06 am
by Skif_off
FeyFre
Всё ещё проще: меняем местами строки 39 и 40, переменную procRegEdit задаём так:

Code: Select all

var procRegEdit = WshShell.ExpandEnvironmentStrings("%WinDir%") + "\\regedit.exe";

Posted: Thu Aug 27, 2015 9:46 am
by Skif_off
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 подобной проблемы нет? К сожалению, пока не знаю, когда смогу проверить.

Posted: Thu Aug 27, 2015 12:36 pm
by Skif_off
Instructor
Правильно ли понимаю, что скрипт UndoPos.js и команды 4199/4200 - одно и то же?

Posted: Thu Aug 27, 2015 7:10 pm
by KDJ
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).

Posted: Fri Aug 28, 2015 6:54 am
by Infocatcher
Skif_off wrote:Infocatcher
Заметил случайно Add basic support for quoted-printable, но в коллекцию пока не попал - уже можно пользоваться?
Да пока не особо, только через агрументы и только в одну кодировку пока.
Кодировку потом так можно:

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 по крайней мере), поэтому софт режет, вставляя "=" в конце строки
Там пока простейшая замена.
Так что если есть примеры закодированных текстов, хотелось бы их увидеть.

Posted: Fri Aug 28, 2015 8:57 am
by Infocatcher
Skif_off
А, в принципе, можно и https://github.com/mathiasbynens/quoted ... intable.js утянуть, наверное.

Posted: Fri Aug 28, 2015 10:55 am
by Skif_off
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.

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.
Будете пробовать - в диалогах жмите "Нет", чтобы всё увидеть, сделать полностью без участия глаз пользователя не получилось. Только аккуратнее, пожалуйста: никак не дойдут руки дописать предварительное сохранение уже существующего в буфере обмена :)

Infocatcher wrote:А, в принципе, можно и https://github.com/mathiasbynens/quoted ... intable.js утянуть, наверное.
Кажется, видел, но не с моими знаниями разбираться :)

Запустил converter.js с гитхаба с параметрами

Code: Select all

-mode=2 -type="QuotedPrintable" -dialog=false -saveOptions=0
- ошибка.

Posted: Fri Aug 28, 2015 3:27 pm
by Skif_off
KDJ
SelectRangeText.js

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.

Posted: Fri Aug 28, 2015 3:30 pm
by Instructor
Skif_off wrote:Правильно ли понимаю, что скрипт UndoPos.js и команды 4199/4200 - одно и то же?
Нет. UndoPos.js переходит на ближайшую к каретке позицию отмены, а 4199/4200 к отмене по очередности её занесения в буфер отмен.

Posted: Sat Aug 29, 2015 1:43 pm
by KDJ
Skif_off wrote:SelectRangeText.js

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).

Posted: Mon Aug 31, 2015 5:42 pm
by VladSh
KDJ wrote:TranslateWithGoogleAPI.js does not work.
Kley wrote:VladSh
Попробуйте удалить "?" в конце строки:

Code: Select all

var url="http://translate.google.com/translate_a/t?";
У меня так работает :)
Спасибо! 8) Поправил.