Помогите написать скрипт
- Author
- Message
-
Offline
- Posts: 46
- Joined: Fri Mar 22, 2013 5:05 am
- Location: Белово, Кемеровская область, Россия
В настоящее время бытует миф, что если в ОС Windows по умолчанию стоит китайская, японская или корейская кодировка, то вставить тире методом Insert("—") увы! не получится, поэтому для вставки тире рекомендуется использовать метод Insert ("\[2014]", 1)Andrey_A_A wrote:ermakoov, Давай попробуем заново, хотя правильный ответ уже был, изначально цель всего (если я правильно понял) - это1. Нажми Alt+P - это вызов окна всех плагинов, найди там плагин Hotkeys::Mainя хочу. повесить это тире на на какую-то клавишу и вводить его одним нажатием
2. поставь галочку
3. чуть ниже окна есть кнопочка "Вызвать" - нажми - появится окно настройки горячих клавиш
4.Там, где команда напиши Insert("—") , там где имя напиши "большое тире", нажми мышкой в окошечко , где написано "горячая клавиша" - нажми нужное сочетание клавиш на клавиатуре
5. Нажми "Добавить" --> "Закрыть"
Всё, можешь вызывать...
дополнительный бонус - маленькая менюшка для вставки других специфических символов:Code: Select all
"Вставка Символов" Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) { "— большое тире" Insert("—") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "– среднее тире" Insert("–") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "± плюс минус" Insert("±") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "« левая кавычка" Insert("«") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "» правая кавычка" Insert("»") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "“ левая кавычка" Insert("“") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "” правая кавычка" Insert("”") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) "… троеточие" Insert("…") Icon("%a\AkelFiles\Plugs\ToolBar.dll",27) }
-
Offline
- Posts: 381
- Joined: Wed Sep 28, 2011 3:05 pm
К вопросу об этом пожелании
Я знаю, тут нужен скрипт . Посмотрел внутрь других скриптов, для меня это темный лес, если честно.
Напишу по-русски. Если это html или php файл, то после печати = проверить, находится ли он внутри строки <...> (точнее, тега, те после печати "<название тега[пробел]"; видимо нужна регулярка). Если да, то после = добавить кавычки и внутрь их поставить каретку.
Может кто показать на примере, как такое сделать?
Я знаю, тут нужен скрипт . Посмотрел внутрь других скриптов, для меня это темный лес, если честно.
Напишу по-русски. Если это html или php файл, то после печати = проверить, находится ли он внутри строки <...> (точнее, тега, те после печати "<название тега[пробел]"; видимо нужна регулярка). Если да, то после = добавить кавычки и внутрь их поставить каретку.
Может кто показать на примере, как такое сделать?
Last edited by Cuprum on Fri Feb 07, 2014 11:18 am, edited 1 time in total.
-
Offline
- Posts: 2247
- Joined: Tue Aug 07, 2007 2:03 pm
- Location: Vinnitsa, Ukraine
Инструктор ответил в оригинальной теме как это сделать грубо. Но как это сделать правильно(это возможно, да!), не смотря на то что у меня есть потребность, у меня совсем нету времени написать скрипт-болванку на основании которого можно будет реализовать много хотелок, прикрутить много фич. Я с удовольствием воспользуюсь готовой болванкой, но самому её делать некогда.
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
Нужен скрипт, делающий следующее:
Открытый файл сохраняет минимум в двух задаваемых в его настройках местах. В одной папке — полную копию открытого файла (кодировка, имя, расширение), во второй папке — сконвертированный средствами акельпада файла в другую кодировку (конкретно 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\» (тоже задается в настройках, как и дополнение к имени/расширению).
Возможно, чтобы такой скрипт написать нужно воспользоваться viewtopic.php?p=4678#p4678
Я сначала думал cmd-файл создать, но, если относительно первой половины работы скрипта, можно скопировать файл штатными средствами , то вот на счёт второго мне не совсем понятно. Есть параметры командной строки /OpenFile /Recode /SaveFile /quit, мне следует открывать, а потом сохранять с другим именем и кодировкой или же как-то Recode использовать? И как в Exec команду передать полный путь открытого файла?
Открытый файл сохраняет минимум в двух задаваемых в его настройках местах. В одной папке — полную копию открытого файла (кодировка, имя, расширение), во второй папке — сконвертированный средствами акельпада файла в другую кодировку (конкретно 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\» (тоже задается в настройках, как и дополнение к имени/расширению).
Возможно, чтобы такой скрипт написать нужно воспользоваться viewtopic.php?p=4678#p4678
Я сначала думал cmd-файл создать, но, если относительно первой половины работы скрипта, можно скопировать файл штатными средствами , то вот на счёт второго мне не совсем понятно. Есть параметры командной строки /OpenFile /Recode /SaveFile /quit, мне следует открывать, а потом сохранять с другим именем и кодировкой или же как-то Recode использовать? И как в Exec команду передать полный путь открытого файла?
-
Offline
- Posts: 366
- Joined: Mon Jan 10, 2011 5:28 pm
- Contact:
-
Offline
- Posts: 1862
- Joined: Mon Aug 06, 2007 1:07 pm
- Contact:
Хм,Instructor wrote:Code: Select all
function IsFileExist(pFile) { if (oSys.Call("kernel32::GetFileAttributes" + _TCHAR, pFile) == -1) return false; return true; }
Code: Select all
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);
Видимо, можно как-то еще быстрее проверить.FileSystemObject.FileExists(): 125
kernel32::GetFileAttributes(): 211
-
Offline
- Site Admin
- Posts: 6311
- Joined: Thu Jul 06, 2006 7:20 am