DeletePhrasesInText.vbs - Удаление строк с фразой
|
|
Andrey_A | Дата: Четверг, 07.06.2012, 15:39 | Сообщение № 1 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Удаление/замещение строк содержащих/не содержащих фразу в выделенном. А так же добавление к найденным строкам... Используется скрипт Functions.vbs - Скрипт с различными Функциями, которые можно использовать в других скриптах
Доступно только для пользователей
|
|
| |
Andrey_A | Дата: Понедельник, 03.09.2012, 19:38 | Сообщение № 2 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Примеры использования: Code "Удаление строк содержащих фразу..." { -"Замещение строк содержащих выделенную фразу (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"0" "2"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк содержащих выделенную фразу (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"1" "2"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк содержащих выделенную фразу (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"2" "2"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк содержащих выделенную фразу (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"3" "2"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк содержащих фразу - диалог ввода (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs") Icon("%a\AkelPadImage.dll",323) -"Замещение строк содержащих фразу - диалог ввода (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"1"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк содержащих фразу - диалог ввода (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"2"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк содержащих фразу - диалог ввода (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"3"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк содержащих фразу из буфера (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"0" "0"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк содержащих фразу из буфера (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"1" "0"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк содержащих фразу из буфера (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"2" "0"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк содержащих фразу из буфера (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"3" "0"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк содержащих слово под курсором (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"0" "1"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк содержащих слово под курсором (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"1" "1"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк содержащих слово под курсором (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"2" "1"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк содержащих слово под курсором (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"3" "1"`) Icon("%a\AkelPadImage.dll",669) }
"Удаление строк не содержащих фразу..." { -"Замещение строк не содержащих выделенную фразу (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"4" "2"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк не содержащих выделенную фразу (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"5" "2"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк не содержащих выделенную фразу (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"6" "2"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк не содержащих выделенную фразу (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"7" "2"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк не содержащих фразу - диалог ввода (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"4"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк не содержащих фразу - диалог ввода (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"5"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк не содержащих фразу - диалог ввода (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"6"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк не содержащих фразу - диалог ввода (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"7"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк не содержащих фразу из буфера (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"4" "0"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк не содержащих фразу из буфера (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"5" "0"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк не содержащих фразу из буфера (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"6" "0"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк не содержащих фразу из буфера (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"7" "0"`) Icon("%a\AkelPadImage.dll",669) SEPARATOR SEPARATOR -"Замещение строк не содержащих слово под курсором (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"4" "1"`) Icon("%a\AkelPadImage.dll",323) -"Замещение строк не содержащих слово под курсором (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"5" "1"`) Icon("%a\AkelPadImage.dll",323) SEPARATOR -"Удаление строк не содержащих слово под курсором (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"6" "1"`) Icon("%a\AkelPadImage.dll",669) -"Удаление строк не содержащих слово под курсором (без регистра)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `"7" "1"`) Icon("%a\AkelPadImage.dll",669) }
|
|
| |
json | Дата: Вторник, 01.10.2013, 21:31 | Сообщение № 3 |
Сержант
На сайте с: 28.10.2012
Город: Киев
Сообщений: 21
|
Andrey_A, у меня версия этого скрипта - 1.6 (07.06.2012 - 17.12.2012) ,оставить или заменить на 1.5 ?
|
|
| |
Andrey_A | Дата: Среда, 02.10.2013, 09:45 | Сообщение № 4 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Исправил
|
|
| |
InFive | Дата: Четверг, 28.11.2013, 12:49 | Сообщение № 5 |
Майор
На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
|
хороший скрипт, но мне нужно еще один вариант при таком поиске, чтобы когда находится в строке искомая фраза, скрипт мог бы добавлять в начало этой строки нужные мне счимволы-фразы... то есть, не удалять, а еще добавлять в начало такой строки...
|
|
| |
Andrey_A | Дата: Четверг, 28.11.2013, 19:59 | Сообщение № 6 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата InFive ( ) аходится в строке искомая фраза, скрипт мог бы добавлять в начало этой строки нужные мне счимволы-фразы...
Т.е. предполагается 2 диалога ввода - 1. Где вводится фраза для поиска 2. Фраза для вставки ?
|
|
| |
InFive | Дата: Четверг, 28.11.2013, 22:45 | Сообщение № 7 |
Майор
На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
|
Цитата Andrey_A ( ) Т.е. предполагается 2 диалога ввода - 1. Где вводится фраза для поиска 2. Фраза для вставки ? да та да, но именно чтобы не вставлять текст вместо всей строки с искомой фразой, а чтобы добавлять еще кой-что в эту строку в начало... мне иногда надо в такие строки с искомыми фразами в начало добавлять тэги по ситуации... да вы правы, все это частные случаи, а что делать, форматирую текстов много та и ситуаций много...
|
|
| |
Andrey_A | Дата: Пятница, 26.12.2014, 00:01 | Сообщение № 8 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата чтобы добавлять еще кой-что в эту строку в начало...
InFive, не прошло и 2-х лет... Добавил
Один из примеров, их может быть масса со вставкой... с диалогом и без, и из буфера, и из выделенного...
Код -"Вставить текст в начало найденных строк, содержащих фразу (фраза и текст вводится диалогах)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `9 3 3`)
Конечно название уже не соответствует, но менять не буду.
|
|
| |
InFive | Дата: Вторник, 08.03.2016, 20:00 | Сообщение № 9 |
Майор
На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
|
Andrey_A, долгое время сидел на сборке 28.28 и не имел проблем... перейдя на 31.31 оказалось что этот скрипт даже в сборке 30.30 не работает... можете разобраться и исправить? на оффсайте нашли замену http://akelpad.sourceforge.net/forum/viewtopic.php?p=30823#30823 этого скрипта из-за его неработы, но просто вы в свое время делали добавления в скрпт по моей просьбе... вот и хочется продолжать им пользоваться... нет, я узнал об этом не сегодня, просто решил написать сегодня только...
|
|
| |
Andrey_A | Дата: Среда, 09.03.2016, 11:28 | Сообщение № 10 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата InFive ( ) оказалось что этот скрипт даже в сборке 30.30 не работает... Что именно не работает? Я этим скриптом пользуй частенько, все нормально:
Код "Удаление строк в выделенном" Icon("%a\AkelPadImage.dll",285) { -"В выделенном вырезать строки через строку со 2-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `0 1`) Icon("%a\AkelPadImage.dll",282) -"В выделенном вырезать строки через строку с 1-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `1 1`) Icon("%a\AkelPadImage.dll",283) SEPARATOR -"В выделенном вырезать строки через 2 строки со 2-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `0 2`) Icon("%a\AkelPadImage.dll",284) -"В выделенном вырезать строки через 2 строки с 1-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `1 2`) Icon("%a\AkelPadImage.dll",285) SEPARATOR -"В выделенном вырезать строки через 3 строки со 2-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `0 3`) Icon("%a\AkelPadImage.dll",1425) -"В выделенном вырезать строки через 3 строки с 1-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `1 3`) Icon("%a\AkelPadImage.dll",1426) SEPARATOR SEPARATOR -"В выделенном удалить строки через строку со 2-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `0 1 1`) Icon("%a\AkelPadImage.dll",282) -"В выделенном удалить строки через строку с 1-й" Call("Scripts::Main", 1, "DeleteZebraLines.vbs", `1 1 1`) Icon("%a\AkelPadImage.dll",283) }
Цитата InFive ( ) Мне параллельно что они там нашли, я на оффсайте не бываю... за год был 1 раз. Приложите примеры, в которых видно что?, где?, при каких параметрах? не работает...
.
|
|
| |
InFive | Дата: Среда, 09.03.2016, 13:20 | Сообщение № 11 |
Майор
На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
|
Andrey_A, вы не тот скрипт тестите на проблемы... эта тема про скрипт DeletePhrasesInText.vbs, он выбирается в меню "Удаление -> Удаление строк содержащих фразу", а вы приводите пример скрипта DeleteZebraLines.vbs из меню "Удаление -> Удаление строк в выделенном"
скрипт DeleteZebraLines.vbs работает, а скрипт DeletePhrasesInText.vbs не работает...
|
|
| |
Andrey_A | Дата: Четверг, 10.03.2016, 13:11 | Сообщение № 12 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
InFive, подправил, скрипт в шапке
|
|
| |
InFive | Дата: Четверг, 10.03.2016, 14:08 | Сообщение № 13 |
Майор
На сайте с: 26.11.2013
Город: Майкоп
Сообщений: 93
|
спасибо, работает...
|
|
| |
wq_qwe | Дата: Пятница, 12.04.2019, 16:09 | Сообщение № 14 |
Рядовой
На сайте с: 06.04.2019
Город: Москва
Сообщений: 17
|
что это за команда?
Код .SendMessage .GetEditWnd, 3185, 3, True
в кнопке
Код -"Удаление строк содержащих выделенную фразу (учитывать регистр)" Call("Scripts::Main", 1, "DeletePhrasesInText.vbs", `2 2`) Icon("%a\AkelPadImage.dll",669)
эта команда не даёт прокрутить окно, т.е. .SetSel Curs, Curs не выполняется. если в длинном текстовике держать курсор сверху документа и тыкнуть на кнопку, то после выполнения скроллится вниз, а назад не возвращается как раз из-за этой строки .SendMessage .GetEditWnd, 3185, 3, True
надо поменять местами эти строки
Код .SendMessage .GetEditWnd, 3185, 3, True .ReplaceSel T : .SetSel Curs, Curs хотя всё равно что-то не то. курсор ставится в правильное место, но окно прокручивается куда-то. что-то не чисто тут как вернуть положение полосы прокрутки, чтобы окно было на том же месте как и до нажатия кнопки? если .SetSel Curs, Curs отвечает за положение курсора, то какая команда отвечает за положение скроллбара? чтобы можно было и его тоже снять до начала выполнения скрипта? скроллинг прыгает
грубо говоря: крутим скролинг на 0 строку, выделяем текст на 5й строке для удаления строк (этот текст находится в двух местах в документе - на 5 и на 50 строках.) после нажатия на кнопку: вариант 1 (по дефолту) - окно скроллинга на последней 50й строке, курсор на 5й строке вариант 2 (с поменяными строками) - окно скроллинга на 5й строке, курсор на 5й строке а нужен вариант 3, чтобы окно скроллинга было на своём месте, в данном случае на 0 строке, а курсор на 5й строке
Сообщение отредактировал wq_qwe - Пятница, 12.04.2019, 16:40 |
|
| |
Andrey_A | Дата: Пятница, 12.04.2019, 17:23 | Сообщение № 15 |
Генералиссимус
На сайте с: 26.01.2012
Город: Сочи, Хоста
Сообщений: 7186
Награды: 143
Репутация: 125
Аверин Андрей
|
Цитата wq_qwe ( ) .SendMessage .GetEditWnd, 3185, 3, True отвечает за остановку прорисовки окна - она и не нужна когда заменяется текст
Функция EndRedraw - восстанавливает это - там есть:
Код hE = .GetEditWnd : .SendMessage hE, 3185, 3, False
У меня все нормально - скорлинг остается на месте (в скрипте ничего не менял)
---- Если нужно получить/установить прокрутку, то смотрите функции GetScroll и SetScroll в Functions.vbs
.
|
|
| |
|