Infocatcher, А на русском языке комментариев уже не ждать?
Posted: Mon Sep 17, 2012 8:04 pm
by KDJ
F. Phoenix wrote:Now it seems too large What about adding width variables?
For me, the buttons fixed width look better.
And you can use full words:
"&Деэкранир." -> "&Деэкранировать"
"Прозрачн. +" -> "Прозрачность+"
"Прозрачн. -" -> "Прозрачность-"
Posted: Tue Sep 18, 2012 12:55 am
by F. Phoenix
Fixed or just same width? Just English has more short words than Russian or Polish, so I think, anyway it's better with lesser buttons. In case of Russian, look at this gradient:
Which variants do you like more? I'm inclined to the first and third: I don't like shorting words, but nice layout is more preferred. Anyway, take this (with or without that settings - as you wish) in case we disagreed with Vlad about just one button:
/********************************
RegExpTestJS.js - ver. 2012-09-16
Interface language
Language: Russian (1049)
Translated by: forum community
*********************************/
nAX = 200, nAW = 100;
nBX = 305, nBW = 100;
nCX = 415, nCW = 75;
nRX = 200, nRW = 110;
nPW = 386;
nMX = 400, nMW = 95;
pTxtCaption = "Отладчик регулярных выражений JavaScript";
pTxtRegExp = "Регулярное выражение (RE)";
pTxtSource = "RE.source";
pTxtEscape = "&Экранировать";
pTxtUnEscape = "&Деэкранировать";
pTxtRE = "RE";
pTxtIgCase = "&ignoreCase";
pTxtGlobal = "&global";
pTxtMultiL = "&multiline";
pTxtNewLine = "Переносы:";
pTxtCollect = "&Коллекция";
pTxtNLWin = "Win (\\r\\n)";
pTxtNLUnix = "Unix (\\n)";
pTxtNLMac = "Mac (\\r)";
pTxtString = "Строка с данными для обработки (Str)";
pTxtAction = "Операция";
pTxtMeTest = "RE.test(Str)";
pTxtMeExec = "RE.exec(Str)";
pTxtMeSearch = "Str.search(RE)";
pTxtMeMatch = "Str.match(RE)";
pTxtMeSplit = "Str.split(RE)";
pTxtMeReplace = "Str.replace(RE,With):";
pTxtResult = "Результат";
pTxtLastInd = "RE.lastIndex=";
pTxtResetInd = "Сбросить &индекс";
pTxtArray = "Array";
pTxtEmpArray = "(пустой массив)";
pTxtGlobPro = "Свойства глобального объекта RegExp";
pTxtTest = "Тест";
pTxtHelp = "Справка";
pTxtOpaqMinus = "Прозрачность +";
pTxtOpaqPlus = "Прозрачность -";
pTxtClose = "Закрыть";
pTxtCopyPaste = "Обмен";
pTxtCopy = "Обмен";
pTxtCopyCB = "Копировать в буфер";
pTxtCopyAP = "Копировать в AkelPad";
pTxtPasteCB = "Вставить из буфера";
pTxtPasteAP = "Вставить из AkelPad";
pTxtNoRE = "Регулярное выражение отсутствует."
pTxtNoStr = "Строка для тестирования отсутствует.";
pTxtRECollect = "Коллекция шаблонов";
pTxtName = "Наименование";
pTxtValue = "Значение";
pTxtAdd = "Добавить (Ins)";
pTxtRename = "Переим. (F2)";
pTxtDelete = "Удалить (Del)";
pTxtOK = "OK (Enter)";
pTxtAddRE = "Новый шаблон";
pTxtRenRE = "Переименование шаблона";
pTxtNewName = "Новое имя";
pTxtREExist = "Шаблон уже сохранен под именем ";
pTxtNameExist = "Данное наименование уже существует: ";
pTxtREHelp = "Справка по регулярным выражениям";
pTxtHelpText = "\tМодификаторы, использующиеся для поиска\r\ni\t\tне различать строчные и заглавные буквы\r\ng\t\tглобальный поиск (обрабатываются все совпадения\r\n\t\tс шаблоном поиска)\r\nm\t\tмногострочный поиск\r\n\r\n\tНаборы символов, использующиеся для поиска\r\nВыражение\tОписание\r\n[abc]\t\tНайти любой, указанный в скобках, символ\r\n[^abc]\t\tНайти любой символ, исключая те, что в скобках\r\n[0-9]\t\tНайти любую цифру от 0 до 9\r\n[A-Z]\t\tНайти любой символ в верхнем регистре от A до Z\r\n[a-z]\t\tНайти любой символ в нижнем регистре от a до z\r\n[A-z]\t\tНайти любой символ от A в верхнем регистре до z\r\n\t\tв нижнем регистре\r\n[adgk]\t\tНайти любой символ из заданного набора\r\n[^adgk]\t\tНайти любой символ кроме данного набора\r\n(red|blue|green)\tНайти любое из перечисленных вхождений\r\n\r\n\tСпециальные метасимволы\r\n.\t\tНайдёт любой символ, кроме переводов строк: \\n, \\r,\r\n\t\t\\u2028 или \\u2029 (можно использовать [\\s\\S] для\r\n\t\tпоиска любого символа, включая переводы строк)\r\n\\w\t\tНайдёт любой символ латинского алфавита, включая\r\n\t\tбуквы, цифры и знак подчеркивания\r\n\\W\t\tНайдет любой не-(лат.)словесный символ\r\n\\d\t\tНайдёт цифру из любого алфавита (у нас же юникод);\r\n\t\tиспльзуйте [0-9], чтобы найти только обычные цифры\r\n\\D\t\tНайдет нецифровой символ (все алфавиты)\r\n\\s\t\tНайдет любой пробельный символ, включая пробел,\r\n\t\tтабуляцию, переводы строки и другие юникодные\r\n\t\tпробельные символы\r\n\\S\t\tНайдет любой символ, кроме пробельного\r\n\\b\t\tНаходит границу слов латинских алфавитов, например\r\n\t\tпробел; не путать с [\\b]!\r\n\\B\t\tНаходит совпадения не по границам слов\r\n\\0\t\tНайдет символ NUL; не добавляйте в конец другие\r\n\t\tцифры\r\n\\n\t\tНаходит символ новой строки\r\n\\f\t\tНаходит символ прогона (form-feed)\r\n\\r\t\tНаходит символ возврата каретки\r\n\\t\t\tНаходит символ обычной табуляции\r\n\\v\t\tНаходит символ вертикальной табуляции\r\n\\hhh\t\tНаходит символ, заданный восьмеричным числом hhh\r\n\\xhh\t\tНаходит символ, заданный шестнадцатиричным\r\n\t\tчислом, с кодом hh (2 шестнадцатиричных цифры)\r\n\\uhhhh\t\tНаходит юникодный символ, заданный\r\n\t\tшестнадцатиричным числом, с кодом hhhh\r\n\t\t(4 шестнадцатиричных цифры)\r\n\r\n\tКвантификаторы\r\n^\t\tОбозначает начало входных данных; если установлен\r\n\t\tфлаг многострочного поиска \"m\", то также сработает\r\n\t\tпри начале новой строки\r\n$\t\tОбозначает конец входных данных; если установлен\r\n\t\tфлаг многострочного поиска, то также сработает\r\n\t\tв конце строки\r\nx(?=y)\t\tНаходит x, только если за x следует y\r\nx(?!y)\t\tНаходит x, только если за x не следует y\r\n+\t\tОбозначает повторение предшествующего элемента\r\n\t\t1 или более раз, эквивалентно {1,}\r\n*\t\tОбозначает повторение предшествующего элемента\r\n\t\t0 или более раз\r\n?\t\tОбозначает, что предшествующий элемент может\r\n\t\tкак присутствовать, так и отсутствовать\r\n{n}\t\tНаходит ровно n повторений предшествующего\r\n\t\tэлемента\r\n{n,}\t\tНаходит n и более повторений предшествующего\r\n\t\tэлемента\r\n{n,m}\t\tНаходит от n до m повторений предшествующего\r\n\t\tэлемента\r\n\r\n\tСвойства объекта RegExp\r\nglobal\t\tПоказывает, был ли включен флаг поиска всех\r\n\t\tсовпадений \"g\"\r\nignoreCase\tПоказывает, был ли включен флаг\r\n\t\tрегистронезависимого поиска \"i\"\r\nmultiline\t\tПоказывает, был ли включен флаг многострочного\r\n\t\tпоиска \"m\"\r\nlastIndex\t\tИндекс, с которого начинать следующий поиск\r\nsource\t\tТекст RegExp-паттерна\r\n\r\n\tМетоды объекта RegExp\r\ncompile()\t\tКомпилирует регулярное выражение\r\nexec()\t\tПри совпадении возвращает массив и обновляет\r\n\t\tсвойства объекта RegExp, если совпадений нет,\r\n\t\tвозвращает null\r\ntest()\t\tИспользуется, чтобы выяснить, есть ли совпадения\r\n\t\tрегулярного выражения со строкой (аналогично\r\n\t\tString#search), возвращает true или false; чтобы\r\n\t\tполучить сами совпадения, используйте exec или\r\n\t\tString#match\r\ntoString()\t\tВыводит строковое представление объекта RegExp,\r\n\t\tт.е. \"/паттерн/\"\r\n\t________________________________________________\r\n\tИсточники: http://www.w3schools.com, http://javascript.ru";
Posted: Tue Sep 18, 2012 3:36 am
by Infocatcher
Andrey_A_A wrote:
Вооот, теперь и у меня работает.
Infocatcher, А на русском языке комментариев уже не ждать?
По поводу «теперь работает» или про insertTag.js?
Про сам скрипт – отсюда и далее.
А заработало вот это для автоматически установленной темы.
SetSel(nSelStart, nSelEnd[, nFlags]);
Аргументы
nSelStart
Позиция начала выделения.
nSelEnd
Позиция конца выделения.
nFlags
0x001 //AESELT_COLUMNON Включить вертикальное выделение.
0x002 //AESELT_COLUMNASIS Оставить вертикальное выделение как есть.
0x004 //AESELT_LOCKNOTIFY Не посылать оповещения AEN_SELCHANGING и AEN_SELCHANGED.
0x008 //AESELT_LOCKSCROLL Не прокручивать окно редактирования.
0x010 //AESELT_LOCKUPDATE Не обновлять окно редактирования.
0x020 //AESELT_LOCKCARET Не перемещать каретку.
0x080 //AESELT_NOCARETHORZINDENT Не менять горизонтальный отступ каретки.
0x100 //AESELT_NOVERTSCROLLCORRECT При некоторых условиях прокрутка может увеличиваться на величину одной строки.
I'm probably being thick here but I simply can't find an AP command or a script to simulate the behaviour of the Edit/Go to... command.
So I've written a script taking "line[:col]" as its only argument and this works, more or less. Go to line is easy, but once I have the line, positioning on the correct column doesn't work if the line contains tabs.
I know why this is happening but I don't know enough about AP scripting to remedy this... any hints from the script magicians?
TM
Posted: Tue Sep 18, 2012 5:06 pm
by KDJ
F. Phoenix wrote:Fixed or just same width? ...
I mean fixed and same width.
It seems to me that the fourth variant is the best.
VladSh, F. Phoenix
Please give me the final version of the translation.
tmsg wrote:... I simply can't find an AP command or a script to simulate the behaviour of the Edit/Go to... command.
Dialog box: Command(4162 /*IDM_EDIT_GOTO*/).
Without dialog box: message AKD_GOTO (read in AkelDLL.h).
Posted: Tue Sep 18, 2012 5:36 pm
by F. Phoenix
There was final - just remove width settings, if don't like it: it works normally with your current layout too.
Posted: Tue Sep 18, 2012 6:04 pm
by Instructor
Infocatcher wrote:А то надо перейти к позиции по отступу и не хочется считать столбцы для...
См. GT_OFFSETCHAR.
tmsg wrote:...can't find an AP command or a script to simulate the behaviour of the Edit/Go to... command.
Instructor
По поводу скрипта DrawLine.js
Хороший скрипт, можно ещё вставить в него горячую клавишу по выходу из него.
Т.е. нажал - нарисовал - нажал гор. клавишу выхода