Lenchik
спасибо, так намного быстрей могу правила проверять.
Posted: Mon Jan 13, 2014 12:13 pm
by Serge Yolkin
Drugmix
Я на время экспериментов кэш временно отключаю...
Posted: Sat Jan 25, 2014 4:21 am
by Egorkaru
Andrey_A_A wrote:ermakoov, Давай попробуем заново, хотя правильный ответ уже был, изначально цель всего (если я правильно понял) - это
я хочу. повесить это тире на на какую-то клавишу и вводить его одним нажатием
1. Нажми Alt+P - это вызов окна всех плагинов, найди там плагин Hotkeys::Main
2. поставь галочку
3. чуть ниже окна есть кнопочка "Вызвать" - нажми - появится окно настройки горячих клавиш
4.Там, где команда напиши Insert("—") , там где имя напиши "большое тире", нажми мышкой в окошечко , где написано "горячая клавиша" - нажми нужное сочетание клавиш на клавиатуре
5. Нажми "Добавить" --> "Закрыть"
Всё, можешь вызывать...
дополнительный бонус - маленькая менюшка для вставки других специфических символов:
В настоящее время бытует миф, что если в ОС Windows по умолчанию стоит китайская, японская или корейская кодировка, то вставить тире методом Insert("—") увы! не получится, поэтому для вставки тире рекомендуется использовать метод Insert ("\[2014]", 1)
Я знаю, тут нужен скрипт . Посмотрел внутрь других скриптов, для меня это темный лес, если честно.
Напишу по-русски. Если это html или php файл, то после печати = проверить, находится ли он внутри строки <...> (точнее, тега, те после печати "<название тега[пробел]"; видимо нужна регулярка). Если да, то после = добавить кавычки и внутрь их поставить каретку.
Может кто показать на примере, как такое сделать?
Posted: Fri Feb 07, 2014 9:06 am
by FeyFre
Cuprum, когда я(либо кто-то другой) случайно выкатит такой пример, я самолично реализую десятка зо два собственных хотелок(ну и заодно пару чужих).
Posted: Fri Feb 07, 2014 11:16 am
by Cuprum
FeyFre
Не очень понял. Такое нельзя сделать?
Posted: Fri Feb 07, 2014 4:14 pm
by FeyFre
Инструктор ответил в оригинальной теме как это сделать грубо. Но как это сделать правильно(это возможно, да!), не смотря на то что у меня есть потребность, у меня совсем нету времени написать скрипт-болванку на основании которого можно будет реализовать много хотелок, прикрутить много фич. Я с удовольствием воспользуюсь готовой болванкой, но самому её делать некогда.
Posted: Sat Feb 08, 2014 11:25 am
by Cuprum
FeyFre
Теперь понятно. Появился стимул научиться писать скрипты под Акел
Posted: Mon Mar 10, 2014 9:32 am
by Lenchik
Нужен скрипт, делающий следующее:
Открытый файл сохраняет минимум в двух задаваемых в его настройках местах. В одной папке — полную копию открытого файла (кодировка, имя, расширение), во второй папке — сконвертированный средствами акельпада файла в другую кодировку (конкретно UTF-8 c BOM) с изменением имени и/или расширения. В скрипте должно быть настраиваемым поведение при наличии файлов с такими же именами в папке (вопрос или затирание без вопроса). Скрипт должен иметь возможность подвешивания на кнопку, а также возможность применения ко всем открытым в акеле файлам. Также должно быть настраиваемым поведение, если открытый файл имеет несохраненные изменения (предложить сохранить перед продолжением работы скрипта. работать далее только с уже сохраненными изменениеми, работать далее с несохраненными изменениями (не изменяя состояние открытого файла)). Настройки скрипта лучше подгружать из отдельного файла настроек.
Пример применения.
Есть открытый файл avs.coder.
По вызову скрипта копия файла сохраняется в папку «C:\Users\Leonid\Documents\GitHub\Akelpad-syntax-highlighting\» (задается в настройках скрипта). Другая копия файла, сконвертированная в UTF-8 кодировку (c BOM), с именем файла «avs.utf8.coder» сохраняется в папку «C:\Users\Leonid\Documents\GitHub\Akelpad-syntax-highlighting\source_for_developers\» (тоже задается в настройках, как и дополнение к имени/расширению).
Я сначала думал cmd-файл создать, но, если относительно первой половины работы скрипта, можно скопировать файл штатными средствами , то вот на счёт второго мне не совсем понятно. Есть параметры командной строки /OpenFile /Recode /SaveFile /quit, мне следует открывать, а потом сохранять с другим именем и кодировкой или же как-то Recode использовать? И как в Exec команду передать полный путь открытого файла?
Posted: Mon Mar 10, 2014 11:48 am
by Skif_off
Lenchik
Перекодировать в UTF-8 можно с помощью Iconv, батник у меня не получился (цикл for - не мое).
var fso = new ActiveXObject("Scripting.FileSystemObject");
var oSys = AkelPad.SystemFunction();
var curFile = AkelPad.GetEditFile(0);
var c = 10e3;
var i = c + 1, t = new Date().getTime();
while(--i)
fso.FileExists(curFile);
var dtFSO = new Date().getTime() - t;
var i = c + 1, t = new Date().getTime();
while(--i)
oSys.Call("kernel32::GetFileAttributes" + _TCHAR, curFile) != -1;
var dtSys = new Date().getTime() - t;
WScript.Echo("FileSystemObject.FileExists(): " + dtFSO + "\nkernel32::GetFileAttributes(): " + dtSys);
Infocatcher
Это потому, что внутри "FileSystemObject.FileExists()" содержится компилированный вызов API функции, а "kernel32::GetFileAttributes" каждый раз сначала получает дескриптор библиотеки, затем ищет точку входа и только потом вызывает.
Posted: Thu Jun 26, 2014 6:45 pm
by Cuprum
Как в скрипте можно получить текущую строку (ту, на которой находится курсор)?