Page 1 of 1

Добавление кнопки со счетчиком в скрипт Multi_SR.js

Posted: Wed Dec 05, 2012 8:31 pm
by shveicar
Здравствуйте.
Проблема в следующем: пытаясь по максимуму автоматизировать процессы по замене текста блоками, обнаружил для себя скрипт Multi_SR.js
Хочу сделать следующее, - добавить возможность замены выделенного фрагмента (и всех идентичных фрагментов) на счетчик начиная с 00 -09 далее 11 и т.д
Кнопка получается вида

Code: Select all

 -"Замена выделения счетчиком"Call("Scripts::Main", 1, "Multi_SR.js", `"#select#" "нужен счетчик"' 0 1 1 1 4 3`)
Имеется также, функция замены фрагмента на счетчик - для регулярного выражения

Code: Select all

var f = arguments.callee; var i = f.i || 0; f.i = ++i; return "alt="  + "000".substr(String(i).length) + i + ".jpg";
Возможно ли её подредактировать для адекватного срабатывания кнопки? или это слишком проблематично..
Скрипт брал здесь , поскольку оригинальный вариант по дате - 2010г.
Спасибо.

Re: Добавление кнопки со счетчиком в скрипт Multi_SR.js

Posted: Thu Dec 06, 2012 8:11 am
by DV
Моя считать необычным делать эти вещи из текстового редактора :)
Я бы посоветовал ReNamer:
http://www.den4b.com/?x=products&product=renamer

Posted: Thu Dec 06, 2012 9:32 am
by shveicar
Спасибо за совет, - но предпочитаю для похожих задач - textpipe.
Просто со счетчиками, у него проблема. Приходится, в качестве фильтра замены использовать тот же скрипт. Только скриптовый язык у него нестандартный типа vbs а на самом деле vba. Но это, отдельная тема...
В общем, в AkelPad для одной странице удобнее именно вариант с js. Можно ведь сделать кнопку, - например

Code: Select all

-"Замена выделения содержимым из буфера dj всем документе" Call("Scripts::Main", 1, "Multi_SR.js", `#select# #bufer# 0 0 0 0 4 3`)  Icon("%a\AkelPadImage.dll",468)
Вот и подумал про счетчик...

Posted: Thu Dec 06, 2012 12:40 pm
by VladSh
shveicar wrote:Спасибо за совет, - но предпочитаю для похожих задач - textpipe.
Просто со счетчиками, у него проблема.
У ReNamer не видел каких-либо проблем; потому наверное его и предложили, что рабочий и надёжный.

Posted: Thu Dec 06, 2012 1:31 pm
by shveicar
У ReNamer не видел каких-либо проблем
Тогда не подскажите, - где в нем пункт вставить счетчик?
речь идет именно о тексте, а не об именах файлов..

Posted: Thu Dec 06, 2012 9:23 pm
by VladSh
Не, ReNamer с именами файлов работает. Видимо мы не поняли, что же собственно нужно.

Posted: Thu Dec 13, 2012 4:38 pm
by shveicar
Видимо мы не поняли, что же собственно нужно
Наверно - я не совсем понятно выразился, но если говорить проще, - нужна возможность, что бы при выделении в тексте определенного цифрового фрагмента (или фрагментов с идентичными цифрами и символами) и применении скрипта - происходила замена всех одинаковых значений с начала документа и до конца - на счетчик.
Вопрос в том, как преобразовать фразу

Code: Select all

var f = arguments и т.д
и вставить её в кнопку, в параметр "Нужен счетчик"

Posted: Thu Dec 13, 2012 6:42 pm
by VladSh
shveicar
Я прошу прощения, но лично у меня нет желания регистироваться, чтобы посмотреть, что там за скрипт или качать для этого многокилометровые сборки. Почему вы не спросите там, где скачали этот скрипт?

Простая альтернатива:

Code: Select all

var pSelText = AkelPad.GetSelText();
if (pSelText) {
	AkelPad.SetSel(0, 0);
	var number = -1;
	for (;;) {
		number += 1;
		if (AkelPad.TextReplace(0, pSelText, number, 0x00000001 /*FRF_DOWN*/, false) == -1) break;
	}
}
Можете допилить под свои нужды.

Posted: Sat Dec 15, 2012 12:04 pm
by shveicar
VladSh
Спасибо за помощь, - буду разбираться...

Posted: Wed Dec 19, 2012 9:39 am
by VladSh
shveicar
Оказывается скрипт Multi_SR.js принадлежит cnnnc. Скрипт был разделен на 2; инфа.

Есть ещё пару скриптов, не пробовал их, но возможно, какой-то и подойдёт: NumberCount.js, InsertNum.js.

Posted: Sun Jan 06, 2013 8:46 pm
by shveicar
Спасибо всем - проблема решилась с помощью скрипта ReplaceOnCounter.vbs Может кому пригодиться...