Page 1 of 24

Помогите написать скрипт

Posted: Thu Oct 29, 2009 10:53 am
by [Yustas.NeO]
Помогите написать (для кнопки) скрипт следующего содержания:
Если установлена опция "Не открывать программу дважды"
снять эту опцию
запустить новую копию программы
установить обратно эту опцию
В противном случае
запустить новую копию программы

Posted: Thu Oct 29, 2009 11:02 am
by Instructor
Уже есть: ForceNewInstance.js

Posted: Thu Oct 29, 2009 1:23 pm
by [Yustas.NeO]
Прошу прощения, не сразу понял что делает скрипт!
Неплохо бы всем скриптам прописать что они делают...

Posted: Wed Aug 31, 2011 6:05 am
by ermakoov
Помогите написать скрипт для замены по всему тексту:

1. Заменить табулятор, конец строки на знак равно
2. Сортировка всего текста в прямом направлении
3. Обратная пункту №1 замена
4. Курсор в начало документа

Заранее благодарен!
Простите мерзавца за невежество в области языка сриптов :)

Posted: Wed Aug 31, 2011 8:24 am
by [Yustas.NeO]
ermakoov wrote:1. Заменить табулятор, конец строки на знак равно
В смысле "И таб И перенос строки заменить на знак равно" или "таб, находящийся в конце строки, заменить на знак равно" ?
ermakoov wrote:2. Сортировка всего текста в прямом направлении


Тоесть превратить

Code: Select all

9999
8888
7777
в

Code: Select all

7777
8888
9999
да?

ermakoov wrote:3. Обратная пункту №1 замена
Зависит от ответа на вопрос по первому пункту.


Приведите пример использования скрипта, а то не совсем понятно..

Posted: Wed Aug 31, 2011 10:01 am
by ermakoov
Я имею ввиду \t\n заменить на знак равно. То есть, по всему документу сразу заменить везде, где встречается такое сочетание таба и конца строки. Причем порядок следования таба и конца строки здесь важен, ибо у меня в докуменах встречается и обратное по порядку сочетание.

Спасибо, что просвещаете тёмного :)

Posted: Wed Aug 31, 2011 10:11 am
by ermakoov
Дополнение. Да-да, сортировка именно строк всего документа. Причем сортировка не числовая, а текстовая. Такой плагин есть в Акеле отдельно. Я так предполагаю, что именно на него вы и будете ссылаться при написании скрипта.

Posted: Wed Aug 31, 2011 10:43 am
by [Yustas.NeO]
:

Code: Select all

    var hEditWnd=AkelPad.GetEditWnd();
    var hMainWnd=AkelPad.GetMainWnd();
    AkelPad.SendMessage(hEditWnd, 11 /*WM_SETREDRAW*/, false, 0);

  AkelPad.SetSel(0, -1);
  AkelPad.ReplaceSel(AkelPad.GetSelText().replace(/\t\r/g, "="));
  AkelPad.Call("Format::LineSortStrAsc");
  AkelPad.ReplaceSel(AkelPad.GetSelText().replace(/=/g, "\t\r"));
  AkelPad.SetSel(0, 0);

    AkelPad.SendMessage(hEditWnd, 11 /*WM_SETREDRAW*/, true, 0); 
    AkelPad.SystemFunction().Call("user32::InvalidateRect", hEditWnd, 0, true); 

Posted: Sat Sep 03, 2011 5:17 am
by ermakoov
Помогите, плиз, написать скрипт вставки (ввода) тире "—"

Posted: Sat Sep 03, 2011 9:29 am
by Instructor
ermakoov
Можно без скрипта, используя ContextMenu/Hotkeys/Toolbar.

Code: Select all

"Вставить тире" Insert("—")

Posted: Sat Sep 03, 2011 10:31 am
by ermakoov
Ничего не понял. Можно чайнику попроще? Что я должен нажимать? :)

И уточню мою задачу - я хочу повесить это тире на на какую-то клавишу и вводить его одним нажатием. Для этого, собственно я и просил помочь написать скрипт, которому бы и назначил горячую клавишу. Неужели это такой сложный код? :) А что за код привели вы - я не понимаю.

Posted: Sat Sep 03, 2011 10:43 am
by Instructor
ermakoov
См. Hotkeys-Rus.txt

Posted: Sat Sep 03, 2011 11:10 am
by opk44
ermakoov
Можно и "еще проще". Установите PuntoSwitcher и добавьте символ "длинное тире" в Автозамену (например два сивола обычного тире на одно длинное).

Posted: Sat Sep 03, 2011 11:16 am
by ermakoov
Наконец, слава богу, въехал :) А не въезжал сходу из-за вашей, Инструктор, супер-экслюзивной краткости. Вы лаконичней, чем сами лакомоденяне :) А с чайниками так обращаться низзя :) Однако ж, большое спасибо - всё работает!

Posted: Sat Sep 03, 2011 1:56 pm
by Instructor
ermakoov
Самое ценное, когда человек сам находит правильную дорогу, получив только направление пути.