AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Scripts discussion (4)
Goto page Previous  1, 2, 3, 4, 5  Next
 
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Wed Dec 07, 2016 6:27 pm    Post subject: Reply with quote

beotiger wrote:
но где она?

Было недавно, просто фича не вынесена в GUI.
Back to top
View user's profile Send private message
beotiger



Joined: 09 Dec 2015
Posts: 53

PostPosted: Wed Dec 07, 2016 7:54 pm    Post subject: Reply with quote

Skif_off да, я же говорю, пробовал, но что-то не срослось сразу, было полгода назад. Т.к. фича требовалась не особо часто, поэтому не парился, а когда припёрло, захотелось.

Справедливости ради надо отметить, что команду
Code:
Call("Scripts::Main", 1, "converter.js", `-mode=2 -type="quotedprintable" -dialog=false -onlySelected=true`)

так и не удалось заставить работать над выделенным текстом, хотя если пошаманить над самим converter.js, можно добиться вывода раскодированного текста в окно предпросмотра.

Но, согласитесь, т.к. функция не вынесена в GUI, большинство пользователей о ней так и не узнает, не всякий же будет рыться по форуму или по гитхабу.

А вообще, converter.js мощная штука, кстати, я оттуда взял 2 полезные функции для quoted-printable.js: convertFromUnicode и convertToUnicode.
Back to top
View user's profile Send private message
Skif_off



Joined: 20 Oct 2013
Posts: 1094

PostPosted: Wed Dec 07, 2016 10:37 pm    Post subject: Reply with quote

beotiger wrote:
Справедливости ради надо отметить, что команду
Code:
Call("Scripts::Main", 1, "converter.js", `-mode=2 -type="quotedprintable" -dialog=false -onlySelected=true`)

так и не удалось заставить работать над выделенным текстом

Не знаю, что может быть, у меня работает. К слову - всегда, а ваш как-то лажанул с KOI-8R, причём как-то странно, не левые символы, а тупо маленькие квадратики и всё (шрифт Liberation Mono).

beotiger wrote:
Но, согласитесь, т.к. функция не вынесена в GUI, большинство пользователей о ней так и не узнает, не всякий же будет рыться по форуму или по гитхабу.

Я соглашусь, потому что знаю, что в какой-то мере был инициатором добавления этой фичи Smile С другой стороны, поиск по форуму работает и теперь есть сразу пара готовых вариантов.

beotiger wrote:
Т.к. фича требовалась не особо часто, поэтому не парился, а когда припёрло, захотелось.

Вы ещё мой "припёртый" вариант не видели Smile)
Back to top
View user's profile Send private message
beotiger



Joined: 09 Dec 2015
Posts: 53

PostPosted: Thu Dec 08, 2016 3:29 pm    Post subject: Reply with quote

Skif_off wrote:
Не знаю, что может быть, у меня работает.

Версия converter.js которая у меня:
Code:
// (c) Infocatcher 2010-2015
// Version: 0.2.5pre - 2015-03-07
// Author: Infocatcher

Какая у Вас версия и какую именно команду использовали для раскодирования выделенного текста?

Насчёт возможных крякозябр - это не должно зависеть от кодировки, т.к. quoted-printable.js распознаёт текущую кодировку автоматически, как и converter.js
Но крякозябры могут проявляться при выборе частичной строки, например, имеем такую строку в кодировке quoted-printable:

Code:
=D0=BD=D0=
=B0 =D0=BD=D0=B0=D1=88=D0=B5=D0=BC =D1=81=D0=B0=D0=B9=D1=82=D0=B5


Делаем quoted-printable decode, получается:
Code:
на нашем сайте


Если выберем часть строки без первых 3 символов:
Code:
=BD=D0=
=B0 =D0=BD=D0=B0=D1=88=D0=B5=D0=BC =D1=81=D0=B0=D0=B9=D1=82=D0=B5


Делаем quoted-printable decode:
Code:
�а нашем сайте


В любом наверное quoted-printable конвертере по идее мы должны получить такую крякозябру. Я проверил ч/з PHP-функцию quoted_printable_decode и ещё в паре online decoder'ов.
Back to top
View user's profile Send private message
lelik



Joined: 07 Dec 2016
Posts: 6

PostPosted: Mon Dec 12, 2016 1:06 pm    Post subject: Reply with quote

Добрый день!
А можно сделать так, чтобы результат в Calculator.js ?
выдавал в одном окошке:
Code:
nResult
nResult.toString(16)
nResult.toString(2)

т.е. в десятеричной, шестнадцатеричной и двоичной С.И.
Back to top
View user's profile Send private message
beotiger



Joined: 09 Dec 2015
Posts: 53

PostPosted: Fri Dec 16, 2016 10:27 am    Post subject: Reply with quote

lelik, да, легко.
Отредактируйте скрипт Calculator.js (в папке ...\AkelPad\AkelFiles\Plugs\Scripts\) - измените функцию Trace на код показанный ниже:
function Trace(nResult, pLabel)
Code:
function Trace(nResult, pLabel)
{
  var nValue, sShow;

  if (bHex)
  {
    if (nResult < 0) nResult=(0xFFFFFFFF + 1) + nResult;
    nResult="0x" + nResult.toString(16).toUpperCase();
    sShow = nResult;
  }
  else {
     sShow = nResult + ', x' + nResult.toString(16) + ', b' + nResult.toString(2);
  }
  if (nValue=AkelPad.InputBox(hMainWnd, WScript.ScriptName, pLabel, sShow))
    return parseInt(nValue);
  return nResult;
}


Тут мы добавили переменную sShow, которую выводим в качестве результата. Если у нас не шестеричный вывод, то добавляем к nResult строки в HEX и BIN формате в виде xHEXVALUE и bBINVALUE (всё ч/з запятую, если формат не нравится, измените на свой).
Back to top
View user's profile Send private message
lelik



Joined: 07 Dec 2016
Posts: 6

PostPosted: Mon Dec 19, 2016 7:17 am    Post subject: Reply with quote

хотелось чтобы в разных полях были результаты:

Dec: 65297
Hex: 0xFF11
Bin: 1111111100010001
Back to top
View user's profile Send private message
LonerD



Joined: 01 Dec 2011
Posts: 153
Location: Donetsk

PostPosted: Wed Jan 25, 2017 2:07 pm    Post subject: Reply with quote

FeyFre
Скрипт History.js частично не работает под Windows 10 x64 Home.
Например, не показывает окно:
Call("Scripts::History::Show/Hide")
Видимо, проблема в библиотеках win32. Есть ли возможность обновить/исправить?
Back to top
View user's profile Send private message
FeyFre



Joined: 07 Aug 2007
Posts: 2234
Location: Vinnitsa, Ukraine

PostPosted: Thu Jan 26, 2017 12:39 am    Post subject: Reply with quote

LonerD, он давненько "поломался", то не по причине Win32, а потому что АР развивался, а я не поспеваю следить за изменениями(месяца 2 назад я заметил что он не работает(на64бит Cool и судя по всему уже с пол года). Да, в те времена под 64битным окружением у меня не было возможности запустить и проверить, потому работоспособность там я не гарантировал(должно было работать по идее).
Ради целостности картины, попробуйте запустить его на 32битном АР на той же системе, посмотрим действительно разница в плохой адаптации к х64, или же проблема с совместимостью с новыми версиями АР.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
LonerD



Joined: 01 Dec 2011
Posts: 153
Location: Donetsk

PostPosted: Thu Jan 26, 2017 11:33 am    Post subject: Reply with quote

FeyFre
AkelPad всегда использую только 32-х битный. Все плагины последних версий.
При вызове команды
Call("Scripts::History::Show/Hide") и просто Call("Scripts::Main", 1, "History.js","sr")
просто ничего не происходит.
Когда поломалось - не знаю, основная для меня функция Call("Scripts::History::Reopen Last") работает и сейчас, потому не обращал внимание (после того как заметил - вскользь о проблеме упоминал).

Попробовал пару старых версий Акелпада (и плагинов) с последней версией скрипта - та же ситуация. Когда-то больше года назад, когда у меня стояла Windows 8 x64, всё работало.

Попробовал Акелпад 4.7.2 со скриптом старой версии 0.9 - ругается на comctl32.js.

Попробовал 64-х битный Акелпад с 64-х битными плагинами - не работает ни одна функция скрипта, выскакивает ошибка о том, что функция не найдена в Scripts.dll.

Под ХР попозже запущу-посмотрю.
Back to top
View user's profile Send private message
InFive



Joined: 10 Nov 2015
Posts: 77

PostPosted: Wed Feb 22, 2017 9:27 pm    Post subject: Reply with quote

ребят, а в базе есть скриптик, который бы мог строчку типа

4.1-4.6 и т.д.

превратить в колонку

4.1
4.2
4.3
4.4
4.5
4.6

?
Back to top
View user's profile Send private message
opk44



Joined: 16 Jan 2010
Posts: 533

PostPosted: Thu Feb 23, 2017 3:47 pm    Post subject: Reply with quote

InFive
Не помню такого. НО! Если не требуется решать задачу "для общего случая", то может сгодиться "SearchReplace.js".

Что: (\d+)(\.)(\d+)(-)(\d+)(\.)(\d+)
Чем: var s=""; for (i = parseInt($3); i <= parseInt($7); i++) {s=s + $1 + $2 + i +"\n"}; return (s);
[x] Регулярные выражения
[x] Заменять на функцию

Если же требуется решение для диапазонов типа 4.6-5.2, то надо думать дальше
Back to top
View user's profile Send private message
InFive



Joined: 10 Nov 2015
Posts: 77

PostPosted: Fri Feb 24, 2017 6:27 am    Post subject: Reply with quote

opk44 wrote:
Если же требуется решение для диапазонов типа 4.6-5.2, то надо думать дальше

как-то сложновато получается...

ладн, спасибо, попробую решить свою задачу другим путем, минуя разбор таких диапазонов...
Back to top
View user's profile Send private message
YuS



Joined: 15 Sep 2013
Posts: 418

PostPosted: Fri Feb 24, 2017 2:00 pm    Post subject: Reply with quote

opk44 wrote:

Если же требуется решение для диапазонов типа 4.6-5.2, то надо думать дальше

Тут нужны точные ограничители...
Если варианты первой от 1 до 9 и второй цифры от 0 до 9, то всё просто:
Code:
var s=""; for (i = parseInt($1+$3); i <= parseInt($5+$7); i++) {i=i.toString(10); s=s + i.substr(0,1) + $2 + i.substr(1,1) + "\n"}; return (s);


если же нумерация более сложная, тогда уже надо будет подумать...
Back to top
View user's profile Send private message
opk44



Joined: 16 Jan 2010
Posts: 533

PostPosted: Fri Feb 24, 2017 3:14 pm    Post subject: Reply with quote

YuS wrote:
если же нумерация более сложная, тогда уже надо будет подумать...
Не обязательно вторая, но и первая цифра тоже может оказаться двузначной (9.6-10.2).
А так, да, для простых и коротких списков, этот вариант получше.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3, 4, 5  Next
Page 3 of 5

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group