View previous topic :: View next topic |
Author |
Message |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Sun Jul 29, 2007 1:35 pm Post subject: Та шо ж такое-то? Опять вопросы-предложения... |
|
|
Вопрос по AkelPad.ReadFile. Так как уже есть: Code: | //Считывание содержимого файла
var File = fso.OpenTextFile(fileName, 1, false, -2);
var Content = File.ReadAll();
File.Close(); | я понимаю смысл её появления в том, что она приводит кодировку вставляемого файла к кодировке текущего. Так ли это?
Просьба - сделайте пожалуйста установку курсора в начало файла! Написал скрипт NewFilebyRecent.js, всё бы хорошо, но после создания файла он проматывается в самый конец - не красиво.
Лучше всего (универсальней) было бы устанавливать курсор в указанную позицию. 0 - это начало файла.
Ещё один вариант - это реализовать функцию SendKeys, т.е. чтобы можно было инициировать нажатия опред. комбинаций клавиш. В таком случае я бы для своей (этой) задачи инициировал Ctrl+Home.
Начал работу по формированию CommonFunctions.js на основе тех функций, которые Вы выкладывали (куда ж без плагиата? ). Вопрос: заметно ли будет сказываться на скорости если все они будут в одном файле? Или имеет смысл выделять общие функции в разные файлы по тематике?
UPDATED:
Instructor wrote: | VladSh
Quote: | Очень часто требуется переименовать текущий файл (открытый в текущей закладке или окне), такой функции к огромному сожалению в AkelPad'е нет, поэтому приходится писать самому... | см. RenameFileDialog.js в дистрибутиве плагина. | Попробуйте вызвать для нового файла.
Тут нужно для данного случая либо дизаблить пункт меню (добавил в предложение по формату ComtextMenu) либо обрабатывать программно и корректировать вываливающиеся сообщения. |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Sun Jul 29, 2007 7:02 pm Post subject: |
|
|
Quote: | Вопрос по AkelPad.ReadFile... я понимаю смысл её появления в том, что она приводит кодировку вставляемого файла к кодировке текущего. Так ли это? |
Из Scripts-Rus.txt:
Quote: | AkelPad.ReadFile
Прочитать содержимое файла. | Смысл этого метода в том, что скрипт может прочитать содержимое файла, используя возможности AkelPad'а (включая автоопределение кодировки).
Quote: | Просьба - сделайте пожалуйста установку курсора в начало файла! |
Code: | AkelPad.SetSel(0, 0); |
Quote: | Ещё один вариант - это реализовать функцию SendKeys... |
Code: | WshShell=new ActiveXObject("WScript.Shell");
WshShell.SendKeys("^{HOME}"); |
Quote: | Вопрос: заметно ли будет сказываться на скорости если все они будут в одном файле? | Тут можно пойти по пути эксперимента. |
|
Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Mon Jul 30, 2007 8:47 am Post subject: работает |
|
|
Instructor
Можо ли в новых версиях плагина добавить в Scripts-Rus.txt Ваши уточнения по SetSel, ReadFile?
Спасибо за подсказку, всё работает!  |
|
Back to top |
|
 |
Idjo
Joined: 06 May 2007 Posts: 21
|
Posted: Wed Aug 01, 2007 9:04 pm Post subject: |
|
|
How do I call a macro?
I tried AkelPad.Call("Macros::Main", 1, "Name", 1, 0); and it didn't work, although it works at the context menu definition.
The error is "Wrong number of arguments or invalid property assignment". |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Thu Aug 02, 2007 4:06 am Post subject: |
|
|
Idjo
For the moment you can't use ContextMenu's Call() syntax. |
|
Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Thu Aug 02, 2007 12:22 pm Post subject: предложение по окошку скриптов |
|
|
Можно ли сделать чтобы окно скриптов было изменяемо в размерах и запоминало эти размеры после изменения? А то надоело тягать бегунок... |
|
Back to top |
|
 |
Fr0sT
Joined: 24 Jul 2007 Posts: 876
|
Posted: Thu Aug 02, 2007 1:36 pm Post subject: |
|
|
Неплохо было бы иметь возможность указать параметры запускаемого скрипта, причём чтобы скрипты с разными параметрами различались в списке. |
|
Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Thu Aug 02, 2007 5:35 pm Post subject: проблема, а соответственно и предложение |
|
|
Пользователь выделяет несколько строк текста, он может их выделить неправильно (например для работы скрипта строки должны быть выделены целиком - от начала и до конца) либо пользователь просто указывает выделением на строки, с которыми нужно работать скриптом.
Просьба следующая - добавьте пожалуйста метод, позволяющий автоматически переносить выделение в самое начало первой строки выделения и в самое окончание последней строки выделения.
Можно было бы запомнить позицию выделения, потом программно выделить всё и анализировать символы к началу текста, т.е. к переводу строки, но это не дело, т.к. файл действительно м.б. тяжёл...
Пока писал пришла супер-идея! Добавьте пожалуйста метод, который извлекал бы символ (или группу символов в периоде, аналог Mid) из всего окна редактирования (не выделения) по номерам! Это бы хоть как-то решило проблему. Можно было бы получить номер символа начала выделения, а затем в цикле отнимая по одному можно было бы анализировать... и, соответственно, ПЕРЕустанавливать границы выделения! |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Fri Aug 03, 2007 3:54 pm Post subject: |
|
|
Quote: | Можно было бы получить номер символа начала выделения.. | AkelPad.GetSelStart() - начало, AkelPad.GetSelEnd() - конец. Для вычисления начала/конца строки см. функции RichEdit'а - EM_EXLINEFROMCHAR, EM_LINEINDEX, EM_LINELENGTH. |
|
Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Fri Aug 03, 2007 5:36 pm Post subject: |
|
|
Instructor wrote: | Quote: | Можно было бы получить номер символа начала выделения.. | AkelPad.GetSelStart() - начало, AkelPad.GetSelEnd() - конец. |
Quote: | Для вычисления начала/конца строки см. функции RichEdit'а - EM_EXLINEFROMCHAR, EM_LINEINDEX, EM_LINELENGTH. | Никак не могу понять как этим можно воспользоваться. SendMеssage на EM_EXLINEFROMCHAR кажет "определение отсутствует", т.е. похоже нужно использовать ActiveX для работы с RichEdit'ом. Перерыл весь инет - нигде нет нормальной доки по нему, также нигде не нашёл использование RichEdit'а в JavaScript  |
|
Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 3076 Location: Киев, Русь
|
Posted: Fri Aug 03, 2007 6:06 pm Post subject: ещё предложение |
|
|
Хочется строковый параметр для GetAkelDir()
- если "", то возвращать путь к AkelPad'у;
- если "p", то полный путь к папке с ПЛАГИНАМИ (включая путь к AkelPad'у);
- если "s", то полный путь к папке со СКРИПТАМИ (включая путь к AkelPad'у). |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Fri Aug 03, 2007 9:07 pm Post subject: |
|
|
Quote: | Никак не могу понять как этим можно воспользоваться. SendMеssage на EM_EXLINEFROMCHAR кажет "определение отсутствует", т.е. похоже нужно использовать ActiveX для работы с RichEdit'ом. Перерыл весь инет - нигде нет нормальной доки по нему, также нигде не нашёл использование RichEdit'а в JavaScript |
Для примера: скрипт под заголовком "//Check end of document". |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Fri Aug 03, 2007 10:57 pm Post subject: |
|
|
Changed: AkelPad 3.3.6 required.
Changed: now scripts sorted by names.
Added: InputBox method.
Fixed: hotkey check.
Fixed: GetAkelDir method didn't work on XP.
Scripts plugin v1.7 |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Sun Aug 05, 2007 1:02 pm Post subject: |
|
|
Added: possibility to call AkelPad plugin with parameters (like ContextMenu's Call() method). For example: Code: | AkelPad.Call("Macros::Main", 1, "123", 1, 0);
// 1 -execute, "123" -macro name, 1 -repeat count, 0 -reserved |
Scripts plugin v1.8 |
|
Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 6250
|
Posted: Sun Aug 05, 2007 5:36 pm Post subject: |
|
|
VladSh
SelCompliteLine.js - в скрипте реализована функция выделения полных строк. |
|
Back to top |
|
 |
|