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 (1)
Goto page Previous  1, 2, 3 ... 17, 18, 19 ... 95, 96, 97  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
VladSh



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

PostPosted: Fri Jul 16, 2010 11:40 am    Post subject: Reply with quote

Подскажите пожалуйста, как на скрипте узнать какое "правило" подсветки/автодополнения было применено к текущему файлу?
Back to top
View user's profile Send private message Visit poster's website
FeyFre



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

PostPosted: Fri Jul 16, 2010 12:44 pm    Post subject: Reply with quote

VladSh
Сейчас никак. Scripts может взаимодействовать с плагинами не круче чем ContextMenu, ToolBar, HotKeys, т.е. только вызвать с дополнительными параметрами. Что-то вернуть пока не может. Разве что что-то в буфере обмена оставит(кстати, можете попросить Инструктора что-бы добавил такую подфункцию). Мне, например, не помешала бы возможность программно вызвать ContextMenu(из SpellCheck) со списком дополнительных пунктов, и что-бы он вернул мне выбор из этого списка(если таков есть).
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Tony



Joined: 03 Jul 2008
Posts: 98

PostPosted: Fri Jul 16, 2010 12:46 pm    Post subject: Reply with quote

FeyFre
При открытии скрипта "zen_wrapwithabbreviation" появляется окно, при сорачивании которго сворачивается и программа. При разворачивании AkelPad'а окно скрипта нормально отображается, а окно AkelPad'a неправельно. В скриптах LinesFilter, RenameFile, SearchReplace этого непроисходит.
Back to top
View user's profile Send private message
FeyFre



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

PostPosted: Fri Jul 16, 2010 1:12 pm    Post subject: Reply with quote

Tony
Фикс готов.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
VladSh



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

PostPosted: Fri Jul 16, 2010 2:23 pm    Post subject: Reply with quote

FeyFre wrote:
(кстати, можете попросить Инструктора что-бы добавил такую подфункцию). Мне, например, не помешала бы возможность программно вызвать ContextMenu(из SpellCheck) со списком дополнительных пунктов, и что-бы он вернул мне выбор из этого списка(если таков есть).
А чего сами не попросите? Smile

Я уже прошу это 2 года.
Меню, о котором Вы говорите, - это частный случай - выбор только одного значения из списка.

Пока что мы имеем ShowMenu.js из дистрибутива плагина, но его не совсем удобно, вернее идеологически неправильно, использовать, т.к. данные должны сохраняться ВНЕ скрипта (в виде списка, как в ini), чтобы их мог корректировать любой пользователь, не боясь задеть скрипт! Я хотел переделать его, сделать более универсальным, спрашивал, как это сделать, но мне так никто и не ответил...

Но всё же считаю, что это должен быть не скрипт, а именно встроенная функция, принимающая массив.
Back to top
View user's profile Send private message Visit poster's website
Instructor
Site Admin


Joined: 06 Jul 2006
Posts: 5381

PostPosted: Fri Jul 16, 2010 2:39 pm    Post subject: Reply with quote

VladSh wrote:
Я хотел переделать его, сделать более универсальным, спрашивал, как это сделать, но мне так никто и не ответил...
Так?
Code:
var lpItems=[];
var nItem;

var lpArrayName=new Array("JS", "LSS", "VBS");
var lpArrayExt=new Array("js", "lss", "vbs");

for (nItem=0; nItem < lpArrayName.length; ++nItem)
  lpItems[nItem]=[lpArrayName[nItem], MF_NORMAL, lpArrayExt[nItem]];
Back to top
View user's profile Send private message Send e-mail
FeyFre



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

PostPosted: Fri Jul 16, 2010 2:46 pm    Post subject: Reply with quote

Quote:
А чего сами не попросите?
Попрошу когда буду считать нужным и возможным.
Quote:
спрашивал, как это сделать, но мне так никто и не ответил...
Может я и идиот, но помоему AkelPad.ReadFile() может прочитать любой текстовый файл. А в скрипте его распарсить можно любым известным вам способом: от написания парсера в лоб, до трёх-этажных регулярных выражений. Чего же тут сложного?
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
VladSh



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

PostPosted: Fri Jul 16, 2010 4:05 pm    Post subject: Reply with quote

FeyFre
Никто не идиот Smile
Просто смешивать данные с кодом это ещё хуже, чем смешивать бизнеслогику с интерфейсом. В идеале данные должны быть в отдельном файле, чтобы любой ОБЫЧНЫЙ пользователь мог преспокойно менять данные, не боясь что-то зацепить.

Пример: файл с типами файлов для диалога создания и других меню:
Code:
JS
LSS
VBS

По такому же принципу должно быть построено всё.
Ещё пример: пользователь часто вводит какое-то команды для какого-то скрипта исполнения (стараться особо не буду выдумывая команды):
Code:
cmd
regedit
msconfig
так вто это должны быть просто команды, чтобы пользователь зашёл и добавил то, что он хочет, а не занимался в скрипте каждый раз "распарсиванием", т.е. должен быть общий механизм, который вызывает такие файлы и налету создаёт меню для выбора.
Чтобы унифицировать это, я предлагал в папке Scripts создать папку Params, а в ней либо файлы с именем скрипта (допустим MyScript.param) или папку по названию скрипта (когда у одного скрипта может быть несколько файлов), так мы и сделали для newFileTemplate. Вот так должно быть унифицировано всё. Но только надо написать общий механизм формирования меню, а затем уже дёргать ShowMenu.js, а по наименованию текущего скрипта меню будет само формироваться...

Спасибо за код Exclamation Cool
Back to top
View user's profile Send private message Visit poster's website
VladSh



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

PostPosted: Sat Jul 17, 2010 12:25 pm    Post subject: Reply with quote

Наблюдение:
- для скрипта, который получает текст из выделения методом GetSelText(), преобразование содержимого в массив строк производится так:
Quote:
var arrContent = strContent.split('\r');

- для скрипта, который получает текст путём чтения другого файла методом ReadFile(), преобразование содержимого в массив строк производится так:
Quote:
var arrContent = strContent.split('\r\n');
Back to top
View user's profile Send private message Visit poster's website
VladSh



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

PostPosted: Sat Jul 17, 2010 1:52 pm    Post subject: Reply with quote

Коллеги, подскажите! Smile
Как из скрипта определить, был ли он вызван по комбинации клавиш или кликом мыши?
Back to top
View user's profile Send private message Visit poster's website
FeyFre



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

PostPosted: Sun Jul 18, 2010 5:20 am    Post subject: Reply with quote

VladSh
Никак Smile
Как определить почему кусок железа тёплое: его на огне/солнце держали, или по нему кувалдой долбанули?

Если так нужно - добавьте доп. параметр, и ставьте его разным при разных вызовах.
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
VladSh



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

PostPosted: Sun Jul 18, 2010 7:24 am    Post subject: Reply with quote

FeyFre
Из скрипта я могу узнать, какой скрипт его вызвал (какой был запущен изначально). По идее почему бы не определять что инициировало запуск скрипта: ContextMenu, Hotkeys или просто Scripts? Ведь эта информация есть у редактора, и даже какой скриптовый файл был запущен.

Я всё же думаю, что можно, только не знаю как...

Про параметр знаю, сам так делал, но это как-то не элегантно... Smile
Back to top
View user's profile Send private message Visit poster's website
FeyFre



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

PostPosted: Sun Jul 18, 2010 9:24 am    Post subject: Reply with quote

Quote:
Ведь эта информация есть у редактора, и даже какой скриптовый файл был запущен.
Я всё же думаю, что можно, только не знаю как...
Метода, как взять эту информацию нету. Ждите ответа Инструктора если не верите мне.

Quote:
Про параметр знаю, сам так делал, но это как-то не элегантно...
Когда задача делается только однояко, то вопрос об элегантности обычно не поднимают. Razz
Back to top
View user's profile Send private message AIM Address Yahoo Messenger MSN Messenger
Tony



Joined: 03 Jul 2008
Posts: 98

PostPosted: Sun Jul 18, 2010 9:42 am    Post subject: Reply with quote

se7h
Данный скрипт "LanguageHelp" работает немного неправильно, упращённо. И поэтому поддерживаются далеко не все CHM документации (например по PHP). Правильно былол бы указывать ключевое слово для поиска в разделе "Указатель". Возможно такое реализовать?
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1373
Location: Poland

PostPosted: Sun Jul 18, 2010 12:19 pm    Post subject: Method AkelPad.GetSelText() Reply with quote

I have a question.
What do the different arguments in the method AkelPad.GetSelText()?
What is the difference obtained strings?

Quote:
GetSelText([nNewLine]);

Arguments
nNewLine (only for AkelPad 4.x.x)
1 //"\r" new line (default).
2 //"\n" new line.
3 //"\r\n" new line.

Return Value
String. Selected text.
Back to top
View user's profile Send private message
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 ... 17, 18, 19 ... 95, 96, 97  Next
Page 18 of 97

 
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