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

Russian main discussion
Post Reply
  • Author
  • Message
Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

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

Post 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г.
Спасибо.

DV
Offline
Posts: 1250
Joined: Thu Nov 16, 2006 11:53 am
Location: Kyiv, Ukraine

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

Post by DV »

Моя считать необычным делать эти вещи из текстового редактора :)
Я бы посоветовал ReNamer:
http://www.den4b.com/?x=products&product=renamer

Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

Post 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)
Вот и подумал про счетчик...

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

shveicar wrote:Спасибо за совет, - но предпочитаю для похожих задач - textpipe.
Просто со счетчиками, у него проблема.
У ReNamer не видел каких-либо проблем; потому наверное его и предложили, что рабочий и надёжный.

Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

Post by shveicar »

У ReNamer не видел каких-либо проблем
Тогда не подскажите, - где в нем пункт вставить счетчик?
речь идет именно о тексте, а не об именах файлов..

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Не, ReNamer с именами файлов работает. Видимо мы не поняли, что же собственно нужно.

Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

Post by shveicar »

Видимо мы не поняли, что же собственно нужно
Наверно - я не совсем понятно выразился, но если говорить проще, - нужна возможность, что бы при выделении в тексте определенного цифрового фрагмента (или фрагментов с идентичными цифрами и символами) и применении скрипта - происходила замена всех одинаковых значений с начала документа и до конца - на счетчик.
Вопрос в том, как преобразовать фразу

Code: Select all

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

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post 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;
	}
}
Можете допилить под свои нужды.

Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

Post by shveicar »

VladSh
Спасибо за помощь, - буду разбираться...

Offline
Posts: 3217
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

shveicar
Оказывается скрипт Multi_SR.js принадлежит cnnnc. Скрипт был разделен на 2; инфа.

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

Offline
Posts: 18
Joined: Thu Nov 29, 2012 11:55 am

Post by shveicar »

Спасибо всем - проблема решилась с помощью скрипта ReplaceOnCounter.vbs Может кому пригодиться...
Post Reply