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 (2)
Goto page Previous  1, 2, 3 ... 53, 54, 55 ... 94, 95, 96  Next
 
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins
View previous topic :: View next topic  
Author Message
Infocatcher



Joined: 06 Aug 2007
Posts: 1598

PostPosted: Mon Sep 17, 2012 9:50 am    Post subject: Reply with quote

Instructor wrote:
Infocatcher wrote:
А в случае с сохраненным файлом и автоматическом определении по расширению?
Всё будет Smile
Что-то я не пойму, новая версия уже наступила?
А то у меня «псевдоним для неизвестного файла» «.txt», и он не определяется через
Code:
AkelPad.CallW("Coder::Settings", 18 /*DLLA_CODER_GETALIAS*/, ...
Back to top
View user's profile Send private message
VladSh



Joined: 29 Nov 2006
Posts: 2602
Location: Киев, Русь

PostPosted: Mon Sep 17, 2012 1:47 pm    Post subject: Reply with quote

F. Phoenix
Пусть уже "Тест" будет, хрен бы с ним) На крайняк "Проверить". Это всё лучше чем "Запуск" или "Запустить".

Infocatcher
У меня работает)
Единственное - поставил у себя -xmlExts="[sxh]tml?|mht(ml)?"
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5293

PostPosted: Mon Sep 17, 2012 3:43 pm    Post subject: Reply with quote

Infocatcher wrote:
Что-то я не пойму, новая версия уже наступила?
Должна была Smile

В процессе работы над новой версией успешно было оттестировано, но видимо перед релизом эта часть кода была изменена. Coder v10.3
Back to top
View user's profile Send private message Send e-mail
Infocatcher



Joined: 06 Aug 2007
Posts: 1598

PostPosted: Mon Sep 17, 2012 5:37 pm    Post subject: Reply with quote

Вооот, теперь и у меня работает.


insertTag.js
Back to top
View user's profile Send private message
Andrey_A_A



Joined: 03 Jun 2010
Posts: 547
Location: Сочи, Хоста

PostPosted: Mon Sep 17, 2012 6:20 pm    Post subject: Reply with quote

Quote:
Вооот, теперь и у меня работает.

Infocatcher, А на русском языке комментариев уже не ждать?
Back to top
View user's profile Send private message Send e-mail Visit poster's website
KDJ



Joined: 06 Mar 2010
Posts: 1325
Location: Poland

PostPosted: Mon Sep 17, 2012 8:04 pm    Post subject: Reply with quote

F. Phoenix wrote:
Now it seems too large Laughing What about adding width variables?

For me, the buttons fixed width look better.
And you can use full words:
"&Деэкранир." -> "&Деэкранировать"
"Прозрачн. +" -> "Прозрачность+"
"Прозрачн. -" -> "Прозрачность-"
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Tue Sep 18, 2012 12:55 am    Post subject: Reply with quote

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_1049.lng

Code:

/********************************
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";

Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1598

PostPosted: Tue Sep 18, 2012 3:36 am    Post subject: Reply with quote

Andrey_A_A wrote:
Quote:
Вооот, теперь и у меня работает.

Infocatcher, А на русском языке комментариев уже не ждать?
По поводу «теперь работает» или про insertTag.js?
Про сам скрипт – отсюда и далее.
А заработало вот это для автоматически установленной темы.
Back to top
View user's profile Send private message
Infocatcher



Joined: 06 Aug 2007
Posts: 1598

PostPosted: Tue Sep 18, 2012 6:35 am    Post subject: Reply with quote

Вот у нас есть
Code:
  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   При некоторых условиях прокрутка может увеличиваться на величину одной строки.

Но при этом
Code:
AkelPad.ReplaceSel
__________________

Заменить выделение.

  ReplaceSel(pText[, bSelect]);

Аргументы
  pText
    Текст, которым заменяется выделение.
  bSelect
    true   выделить вставленный текст.
    false  не выделять вставленный текст (по умолчанию).

Почему в первом случае есть AESELT_LOCKSCROLL, а во втором надо еще дополнительный код писать? Smile


И как центрировать каретку после SetSel()?
А то надо перейти к позиции по отступу и не хочется считать столбцы для
Code:
AkelPad.SendMessage(hMainWnd, 1206 /*AKD_GOTOW*/, 0x1 /*GT_LINE*/, AkelPad.MemStrPtr(gotoStr));
Back to top
View user's profile Send private message
tmsg



Joined: 21 Aug 2012
Posts: 27
Location: UK

PostPosted: Tue Sep 18, 2012 10:34 am    Post subject: Go to "line[:column]" Reply with quote

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
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1325
Location: Poland

PostPosted: Tue Sep 18, 2012 5:06 pm    Post subject: Reply with quote

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).
Back to top
View user's profile Send private message
F. Phoenix



Joined: 24 Dec 2011
Posts: 124

PostPosted: Tue Sep 18, 2012 5:36 pm    Post subject: Reply with quote

There was final - just remove width settings, if don't like it: it works normally with your current layout too.
Back to top
View user's profile Send private message
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5293

PostPosted: Tue Sep 18, 2012 6:04 pm    Post subject: Reply with quote

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.
It is right under your post Smile
Code:
Call("Scripts::Main", 1, "EvalCmd.js", `AkelPad.SendMessage(AkelPad.GetMainWnd(), 1206 /*AKD_GOTOW*/, 0x1 /*GT_LINE*/, AkelPad.MemStrPtr("100:5"));`)
Back to top
View user's profile Send private message Send e-mail
KDJ



Joined: 06 Mar 2010
Posts: 1325
Location: Poland

PostPosted: Tue Sep 18, 2012 6:12 pm    Post subject: Reply with quote

F. Phoenix, thank you very much.

Updated Russian translation: RegExpTestJS_1049.lng
Back to top
View user's profile Send private message
Andrey_A_A



Joined: 03 Jun 2010
Posts: 547
Location: Сочи, Хоста

PostPosted: Tue Sep 18, 2012 11:47 pm    Post subject: Reply with quote

Instructor
По поводу скрипта DrawLine.js
Хороший скрипт, можно ещё вставить в него горячую клавишу по выходу из него.
Т.е. нажал - нарисовал - нажал гор. клавишу выхода
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    AkelPad Forum Index -> Plugins All times are GMT
Goto page Previous  1, 2, 3 ... 53, 54, 55 ... 94, 95, 96  Next
Page 54 of 96

 
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