Page 4 of 74
Та шо ж такое-то? Опять вопросы-предложения...
Posted: Sun Jul 29, 2007 1:35 pm
by VladSh
Вопрос по AkelPad.ReadFile. Так как уже есть:
Code: Select all
//Считывание содержимого файла
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
Очень часто требуется переименовать текущий файл (открытый в текущей закладке или окне), такой функции к огромному сожалению в AkelPad'е нет, поэтому приходится писать самому...
см. RenameFileDialog.js в дистрибутиве плагина.
Попробуйте вызвать для нового файла.
Тут нужно для данного случая либо дизаблить пункт меню (добавил в
предложение по формату ComtextMenu) либо обрабатывать программно и корректировать вываливающиеся сообщения.
Posted: Sun Jul 29, 2007 7:02 pm
by Instructor
Вопрос по AkelPad.ReadFile... я понимаю смысл её появления в том, что она приводит кодировку вставляемого файла к кодировке текущего. Так ли это?
Из Scripts-Rus.txt:
AkelPad.ReadFile
Прочитать содержимое файла.
Смысл этого метода в том, что скрипт может прочитать содержимое файла, используя возможности AkelPad'а (включая автоопределение кодировки).
Просьба - сделайте пожалуйста установку курсора в начало файла!
Ещё один вариант - это реализовать функцию SendKeys...
Code: Select all
WshShell=new ActiveXObject("WScript.Shell");
WshShell.SendKeys("^{HOME}");
Вопрос: заметно ли будет сказываться на скорости если все они будут в одном файле?
Тут можно пойти по пути эксперимента.
работает
Posted: Mon Jul 30, 2007 8:47 am
by VladSh
Instructor
Можо ли в новых версиях плагина добавить в Scripts-Rus.txt Ваши уточнения по SetSel, ReadFile?
Спасибо за подсказку, всё работает!

Posted: Wed Aug 01, 2007 9:04 pm
by Idjo
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".
Posted: Thu Aug 02, 2007 4:06 am
by Instructor
Idjo
For the moment you can't use ContextMenu's Call() syntax.
предложение по окошку скриптов
Posted: Thu Aug 02, 2007 12:22 pm
by VladSh
Можно ли сделать чтобы окно скриптов было изменяемо в размерах и запоминало эти размеры после изменения? А то надоело тягать бегунок...
Posted: Thu Aug 02, 2007 1:36 pm
by Fr0sT
Неплохо было бы иметь возможность указать параметры запускаемого скрипта, причём чтобы скрипты с разными параметрами различались в списке.
проблема, а соответственно и предложение
Posted: Thu Aug 02, 2007 5:35 pm
by VladSh
Пользователь выделяет несколько строк текста, он может их выделить неправильно (например для работы скрипта строки должны быть выделены целиком - от начала и до конца) либо пользователь просто указывает выделением на строки, с которыми нужно работать скриптом.
Просьба следующая - добавьте пожалуйста метод, позволяющий автоматически переносить выделение в самое начало первой строки выделения и в самое окончание последней строки выделения.
Можно было бы запомнить позицию выделения, потом программно выделить всё и анализировать символы к началу текста, т.е. к переводу строки, но это не дело, т.к. файл действительно м.б. тяжёл...
Пока писал пришла супер-идея!

Добавьте пожалуйста метод, который извлекал бы символ (или группу символов в периоде, аналог Mid) из всего окна редактирования (не выделения) по номерам! Это бы хоть как-то решило проблему. Можно было бы получить номер символа начала выделения, а затем в цикле отнимая по одному можно было бы анализировать... и, соответственно, ПЕРЕустанавливать границы выделения!
Posted: Fri Aug 03, 2007 3:54 pm
by Instructor
Можно было бы получить номер символа начала выделения..
AkelPad.GetSelStart() - начало, AkelPad.GetSelEnd() - конец. Для вычисления начала/конца строки см. функции RichEdit'а - EM_EXLINEFROMCHAR, EM_LINEINDEX, EM_LINELENGTH.
Posted: Fri Aug 03, 2007 5:36 pm
by VladSh
Instructor wrote:Можно было бы получить номер символа начала выделения..
AkelPad.GetSelStart() - начало, AkelPad.GetSelEnd() - конец.
Для вычисления начала/конца строки см. функции RichEdit'а - EM_EXLINEFROMCHAR, EM_LINEINDEX, EM_LINELENGTH.
Никак не могу понять как этим можно воспользоваться. SendMеssage на EM_EXLINEFROMCHAR кажет "определение отсутствует", т.е. похоже нужно использовать ActiveX для работы с RichEdit'ом. Перерыл весь инет - нигде нет нормальной доки по нему, также нигде не нашёл использование RichEdit'а в JavaScript

ещё предложение
Posted: Fri Aug 03, 2007 6:06 pm
by VladSh
Хочется строковый параметр для GetAkelDir()
- если "", то возвращать путь к AkelPad'у;
- если "p", то полный путь к папке с ПЛАГИНАМИ (включая путь к AkelPad'у);
- если "s", то полный путь к папке со СКРИПТАМИ (включая путь к AkelPad'у).
Posted: Fri Aug 03, 2007 9:07 pm
by Instructor
Никак не могу понять как этим можно воспользоваться. SendMеssage на EM_EXLINEFROMCHAR кажет "определение отсутствует", т.е. похоже нужно использовать ActiveX для работы с RichEdit'ом. Перерыл весь инет - нигде нет нормальной доки по нему, также нигде не нашёл использование RichEdit'а в JavaScript
Для примера:
скрипт под заголовком "//Check end of document".
Posted: Fri Aug 03, 2007 10:57 pm
by Instructor
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
Posted: Sun Aug 05, 2007 1:02 pm
by Instructor
Added: possibility to call AkelPad plugin with parameters (like ContextMenu's Call() method). For example:
Code: Select all
AkelPad.Call("Macros::Main", 1, "123", 1, 0);
// 1 -execute, "123" -macro name, 1 -repeat count, 0 -reserved
Scripts plugin v1.8
Posted: Sun Aug 05, 2007 5:36 pm
by Instructor
VladSh
SelCompliteLine.js - в скрипте реализована функция выделения полных строк.