Scripts discussion (1)

Discuss and announce AkelPad plugins
Locked
  • Author
  • Message
Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Может мозгами не дорос, но не понял работу ScriptNoMutex ...
У меня задача простая (и она раньше работала!) :
1.Я запускаю скрипт
2.Для необходимой информации или действия вызываю другой скрипт
3.Жду завершения 2-го пункта
4.Продолжается работа основного скрипта
Если я что-то не понял, покажите пожалуйста пример. как запустить из скрипта другой скрипт, подождать когда он завершится, и продолжить... В справке Scripts-Rus.txt написано

Code: Select all

Call("Scripts::Main", 2, "SCRIPT", "ARGUMENTS")
  То же, что и предыдущий, но ожидать завершение скрипта.
Или что-то не так...

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Andrey_A_A
С версии 8.9 следующий код должен работать без "подвисаний":

Code: Select all

WScript.Echo("1");
AkelPad.ScriptNoMutex();
AkelPad.Call("Scripts::Main", 2, "SearchReplace.js")
AkelPad.Call("Scripts::Main", 2, "LinesFilter.js")
WScript.Echo("2");
Т.е. все вам нужно сделать это добавить строку "AkelPad.ScriptNoMutex();" иначе будет зацикливание.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

FeyFre wrote:1. Static item sTxtLoadText is not enough wide to show translation in Ukrainian.
2. Transparency regulators(- and + at top right conner should be lowered a bit(overlapping caption, or not, but 1 think it is better when there will be 1px gap, than sensibility of overlap), and should be moved apart 2px (overlapping each other exactly 2px).
3. See below.
1. Fixed
2. I changed, check that's it.
3. Thank you for the translation into Ukrainian, uploaded.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Translator.js
Ctrl+Enter still insert new line break.
Please lower minimum height of window.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

cnnnc
Thank you for the translation into Chinese script Translator.js. I have added to the collection of translations.
Now we have the script in five languages​​.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Infocatcher wrote:Translator.js
Ctrl+Enter still insert new line break.
KDJ
Second "AkelPad.WindowGetMessage();" should be removed as well as second "oSys.Call("user32::PostQuitMessage", 0);".

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

Instructor
Thanks for help.
Already corrected.
I also lowered minimum height of the window.

I still have one question.
Can I disable in ComboBox keys Ctrl+letter (for example, Ctrl+U)?

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

KDJ
Thanks!


Можно ли как-нибудь получить человекопонятное название языка?
Цель – подхватывать файл локализации в зависимости от языка пользователя.
То есть чтобы было не ...-1049.lng, а что-нибудь вроде ...-ru.lng.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

KDJ
Also with window subclassing.

Infocatcher
Можно ли как-нибудь получить человекопонятное название языка?

Code: Select all

var oSys=AkelPad.SystemFunction();
var nLangID=oSys.Call("kernel32::GetUserDefaultLangID");

WScript.Echo(GetLangName(nLangID));

function GetLangName(nLangID)
{
  var lpBuffer;
  var pName="";

  if (lpBuffer=AkelPad.MemAlloc(128 * _TSIZE))
  {
    oSys.Call("kernel32::GetLocaleInfo" + _TCHAR, nLangID, 0x1001 /*LOCALE_SENGLANGUAGE*/, lpBuffer, 128);
    pName=AkelPad.MemRead(lpBuffer, _TSTR);
    AkelPad.MemFree(lpBuffer);
  }
  return pName;
}


Или 0x3 /*LOCALE_SABBREVLANGNAME*/, или 0x59 /*LOCALE_SISO639LANGNAME*/.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Instructor wrote:или 0x59 /*LOCALE_SISO639LANGNAME*/.
Во, отлично! Спасибо.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

С версии 8.9 следующий код должен работать без "подвисаний":
Спасибо проблема ушла, наверное нужно отметить это и в описании Scripts-...txt строка 58. Использовать параметр 2 с ScriptNoMutex()

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

converter-test.js
Added support for language files.

Code: Select all

// converter.js for AkelPad - Russian interface language
// http://akelpad.sourceforge.net/forum/viewtopic.php?p=11095#p11095
strings = {
"No text selected!":
	"Отсутствует выделенный текст!",
"No text!":
	"Текст отсутствует!",
"Converter “%S” not found!":
	"Конвертер «%S» не найден!",
"Can't encode!\nError:\n%S":
	"Не удаётся закодировать!\nОшибка:\n%S",
"Can't decode!\nError:\n%S":
	"Не удаётся раскодировать!\nОшибка:\n%S",
"Nothing to convert!":
	"Нечего конвертировать!",
"Required time: %S (estimate)\nContinue?":
	"Требуется времени: %S (оценочно)\nПродолжить?",
"&HTML entities":
	"&HTML-сущности",
"&&en&tity; => symbol":
	"&&су&щность; => символ",
"s&ymbol => &&entity;":
	"с&имвол => &&сущность;",
"&&nbs&p; => space":
	"&&nbs&p; => пробел",
"s&pace => & ":
	"&пробел => & ",
"&&#c&ode; => symbol":
	"&&#к&од; => символ",
"sy&mbol => &&#code;":
	"си&мвол => &&#код;",
"he&x-code":
	"he&x-код",
"&Escape sequences":
	"&Escape-последовательности",
"Re&gular expressions special symbols":
	"Специальные символы &регулярных выражений",
"&String literals special symbols":
	"Специальные символы &строковых литералов",
"Uniform Resource Identifier (&URI)":
	"Унифицированный идентификатор ресурса (&URI)",
"Uniform Resource Identifier (U&RI), full":
	"Унифицированный идентификатор ресурса (U&RI), целиком",
"Encode as data URI":
	"Кодировать как data URI",
"Base64":
	"Base64",
"&Base64":
	"&Base64",
"Direction":
	"Направление",
"&Auto":
	"&Автоопределение",
"E&ncode":
	"Зако&дировать",
"&Decode":
	"&Раскодировать",
"Action":
	"Действие",
"&Insert":
	"&Вставить",
"&Copy":
	"&Копировать",
"Sho&w":
	"Пока&зать",
"OK":
	"ОК",
"Convert":
	"Конвертировать",
"Cancel":
	"Отмена"
};
(not needed, Russian still built-in)

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Цель – подхватывать файл локализации в зависимости от языка пользователя
Может, лучше не системный, а настройку Акеля? Например, у меня русская винда, но Опера и Миранда английские. Плагин к Миранде на русском очень бы мешался.

Offline
Posts: 1873
Joined: Mon Aug 06, 2007 1:07 pm
Contact:

Post by Infocatcher »

Fr0sT
Тогда это касается почти всех скриптов с локализациями. :D
Я не против, если Instructor подскажет, как получить аналогичный код языка AkelPad'а.

Offline
Posts: 876
Joined: Tue Jul 24, 2007 8:54 am

Post by Fr0sT »

Infocatcher
ну раз дело идет к тому, чтобы стандартизовать принцип локализации, то ради такого случая можно и добавить фишку в Акель). Или хотя бы в Скрипт-плаг
Locked