Page 76 of 97

Posted: Tue May 10, 2011 4:03 pm
by VladSh
И ещё может быть всё-таки какой-нибудь метод чтобы опрашивать плагин или какой-нить удобный метод для получения инфы о текущей вкладке? Задача: для нового файла установить расширение (для подветки и автодополнений), а при сохранении считать <откуда-то> это расширение и подставить его в диалог сохранения файла.


Добавлено: можно дать возможность задавать имя создаваемого файла с расширением без сохранения документа на диск, а затем опрашивать "текущую вкладку" (hWndEdit) на наличие имени.

Posted: Wed May 11, 2011 9:05 pm
by Infocatcher
ColumnCounter.js wrote:

Code: Select all

/^(0x[\da-f]+|-{0,1}\d+)/i
А шестнадцатеричные разве не могут быть отрицательными? :)
К тому же, -{0,1} – это -?.

Code: Select all

/^-?(0x[\da-f]+|\d+)/i

Posted: Fri May 13, 2011 9:17 am
by DV
Translator.js is a kind of magic! Thank you, KDJ!

Posted: Fri May 13, 2011 1:03 pm
by Fr0sT
К Infocatcher-у:
Первым делом, преклоняюсь перед талантом - очень навороченные и функциональные скрипты! :)
Некоторый фидбэк:
1) По сайту
Не нашел, как с главной перейти к скриптам Акеля

2) По toggleComments
* Для pas хотелось бы добавить строчный // по умолчанию

3) По converter
* Если открыты две копии Акеля, пока в одной запущен скрипт, во второй нельзя его запустить
* HTML entities - апостроф не затрагивается, а его порой бывает нужно преобразовать, особенно при смеси html и JS

Помимо этих мелочей, поразительно функциональные скрипты! Спасибо!

Posted: Fri May 13, 2011 1:38 pm
by VladSh
KDJ
Some comments on Translator.js:
1. Russian language does not appear in the ComboBox;
2. It would be better to move all text literals in Translator.ini and read them using oSet, for different languages could prepare separate Translator.ini; people would be pleased to help.
And so it would be better to do with all the scripts.
Thanks.

Posted: Fri May 13, 2011 2:02 pm
by Fr0sT
Не знаю, сюда ли стоит выкладывать, по идее, вообще отдельную тему под это надо завести...
http://www.php.net/download-docs.php
http://javascript.ru/manual
справочники по PHP и JS в формате CHM для ChmKeyword

Posted: Fri May 13, 2011 4:28 pm
by Infocatcher
Fr0sT wrote:1) По сайту
Не нашел, как с главной перейти к скриптам Акеля
Никак не перейти. Не знаю, главная там постольку поскольку. Без нее, вроде бы, сайт удаляют через какое-то время, и надо восстанавливать. Но я подумаю. :)
Fr0sT wrote:2) По toggleComments
* Для pas хотелось бы добавить строчный // по умолчанию
А с <del>бедными студентами</del> любителями Паскаля как быть?
Впрочем, мне все равно, я давно с Паскалем дела не имел.
Fr0sT wrote:3) По converter
* Если открыты две копии Акеля, пока в одной запущен скрипт, во второй нельзя его запустить
Не воспроизводится. И что при этом с SearchReplace.js?
Где-то здесь была дискуссия на тему уникальности AkelPad.GetInstanceDll().
Там сейчас создается окно с классом "AkelPad::Scripts::" + WScript.ScriptName + "::" + hInstanceDLL. И по этому классу потом ищется, чтобы не запускалось дважды.
Fr0sT wrote:* HTML entities - апостроф не затрагивается, а его порой бывает нужно преобразовать, особенно при смеси html и JS
Поставить галочку «символ => &#код;»
и что-нибудь вроде
-charsToEncode=/'|[^!-~ \t\n\rа-яё]/ig
(чтобы не возиться с диапазонами :))
Пожалуй, можно и значение по умолчанию поменять.

Posted: Fri May 13, 2011 5:23 pm
by KDJ
VladSh
1. I don't know, why you do not see the Russian language in the ComboBox.
For me, everything is working properly.
If it is written
["ru", "Russian", 1, 1]
this means, that Russian is available in Google and in Bing.

2. Are you suggesting, that the translations of the script into other languages​, ​​​were placed in separate .ini files?
Not better to keep it in one file?

Posted: Fri May 13, 2011 8:22 pm
by VladSh
KDJ
1. I've got the same settings (the script has not changed), but the Russian and some other languages not contained in the list (ComboBox).

2. I would have made ​​a one Translator.ini, which contains one language, because not see the point in several languages ​​simultaneously. On site can upload different versions (with different languages​​) file Translator.ini.

Posted: Sat May 14, 2011 1:23 am
by cnnnc
Thanks for great Translator.js, KDJ
I confirmed the "problem" VladSh mentioned. But it only not display the full list at once. I have to press Down key Scroll to choose zh-Cn. Turn WS_VSCROLL on will solve the problem.

Code: Select all

aWnd[IDFROMLANGCB ] = ["COMBOBOX", 0,       0, 0x50210103, 230,  35, 160,  20, ""];
aWnd[IDTOLANGCB   ] = ["COMBOBOX", 0,       0, 0x50210103, 440,  35, 160,  20, ""];

Posted: Sat May 14, 2011 11:54 am
by Infocatcher

Posted: Sat May 14, 2011 12:25 pm
by Fr0sT
А с <del>бедными студентами</del> любителями Паскаля как быть?
Впрочем, мне все равно, я давно с Паскалем дела не имел.
Ну, на досовском Паскале едва ли сейчас пишут, а FP поддерживает //
Не воспроизводится. И что при этом с SearchReplace.js?
Где-то здесь была дискуссия на тему уникальности AkelPad.GetInstanceDll().
Проверил на другом компе, то же. SR запускается нормально, в обеих копиях. Правда, у него другая проблема:
Image
Но это уже другой вопрос)
Пожалуй, можно и значение по умолчанию поменять.
Да, было бы неплохо. Всё-таки, тоже спецсимвол.

Posted: Sat May 14, 2011 12:53 pm
by Infocatcher
Ну, на досовском Паскале едва ли сейчас пишут, а FP поддерживает //
Ok, добавлю.
Проверил на другом компе, то же. SR запускается нормально, в обеих копиях.
Воспроизвел, будем чинить.
Да, было бы неплохо. Всё-таки, тоже спецсимвол.
А я уже поменял, правда, пока только у себя. :)

[Upd]
Как интересно. При запуске одного и того же akelpad.exe AkelPad.GetInstanceDll() совпадают, но SearchReplace.js это не мешает.
Что еще более интересно, я больше не могу это воспроизвести.

Posted: Sat May 14, 2011 12:59 pm
by KDJ
cnnnc
Thank you for the tip.

Translator.js: added the scroll bar in ComboBox, and fixed several bugs.

VladSh
Do you now see Russian language in ComboBox?

Posted: Sat May 14, 2011 1:21 pm
by Infocatcher
Fr0sT
Так, а если заменить

Code: Select all

	var dialogClass = "AkelPad::Scripts::" + WScript.ScriptName + "::" + hInstanceDLL;
на

Code: Select all

	var dialogClass = "AkelPad::Scripts::" + WScript.ScriptName
		+ "::" + oSys.Call("kernel32::GetCurrentProcessId")
		+ "::" + hInstanceDLL;
?