Page 72 of 99

Posted: Thu Nov 26, 2015 6:51 pm
by ABTOP
KDJ, Big thanks :)

Posted: Fri Nov 27, 2015 2:41 pm
by Kley
Instructor
Не могли бы Вы доработать (если сочтете нужным конечно) скрипт ColumnCounter.js.
Сейчас, если выделить, например такие строки:

Code: Select all

var
var
var
скрипт заменяет эти строки на них же. Хотелось бы, чтоб текст не менялся.
А если выделить (если первая строка не 001):

Code: Select all

000
000
000
получается:

Code: Select all

NaN
NaN
NaN
Хотелось бы, чтоб текст не менялся. А лучше бы так:

Code: Select all

000
001
002
...
010
Можно так сделать или это лишнее?

Posted: Fri Nov 27, 2015 5:30 pm
by Infocatcher
Kley
Вроде бы, там достаточно заменить

Code: Select all

nCurNumber=parseInt(pFirstNumber.replace(/^0+/, ""));
на

Code: Select all

nCurNumber=parseInt(pFirstNumber.replace(/^0+/, "") || 0);

Posted: Fri Nov 27, 2015 6:56 pm
by yozhic
KDJ
Наконец-то я смог отловить этот хитрый, вредный баг и воспроизвести его! Вот уже 3 дня он меня мучает. Для точности эксперимента вот содержимое

Code: Select all

_temp001	<div[^\n>]+?lecture_mark[^\n\r>]+?></div>		0010
_temp002	<a[^>\n]+>увеличить изображение</a>		0010
_temp003	<p xmlns:edi[^\n>]+>	<p>	0010
_temp004	<img src="\d+_files/	<img src="media/	0010
_temp005	(?s)<br><br>(.+?</div>)	\1<br>	0010
_temp006	(?s)<br>(?!<div|<p|<a|\n)(.*?</div>)	\1<br>	0010
Delete Scripts	<script.+?</script>		0010
Emails	^[a-z0-9\.\-\+_]+@[a-z0-9\.\-_]+?\.[a-z]+$		0010
Empty lines	^[ \t]*$\n*		0010

Открываем пустой файл без текста. Запускаем Batch Replace по хоткею. Отмечены пункты Closes Dialog и Without message. Запускаем Batch Replace All по хоткею. Соглашаемся на замену – жмём Enter. Повторяем эту процедуру несколько раз (пока не случится баг, иногда на 3 раз случается, иногда на 8, иногда надо долго нажимать, но он обязательно должен случиться). Обратите внимание в окне всё время выделен шаблон, который выполняется последним в Batch. В какой то момент этот шаблон пропадает! То есть скрипт удаляет часть строки Найти в шаблоне. Это хорошо видно на

Image

Posted: Fri Nov 27, 2015 8:39 pm
by Kley
Infocatcher
Ну, да. Скрипт не сложный. Можно и заменить. Просто подумал: "Не хорошо и не понятно все эти NaN, NaN...". Для тех, кто не знает. :)

Posted: Sat Nov 28, 2015 10:35 am
by Kley
Instructor,
здравствуйте. Нашел (специально не ищу, попадаются :) ) проблемку после использования LinesWrap.js
Перенос строк включен. Левый клик в начале строки выделяет всю строку (независимо от количества переносов).
После команд разбивающих строки:

Code: Select all

Call("Scripts::Main", 1, "LinesWrap.js", `-ParaIndent="" -LineIndent="  " -MaxLength=80 -ShowInput=true`)
Call("Scripts::Main", 1, "LinesWrap.js", `-ParaIndent="" -LineIndent="  " -MaxLength=120 -ShowInput=false`)
левый клик в начале строки выделяет только линию. Это касается тех окон, где запускали эти команды.

Posted: Sat Nov 28, 2015 2:53 pm
by Instructor
Kley wrote:А если выделить (если первая строка не 001)...
Infocatcher wrote:на

Code: Select all

nCurNumber=parseInt(pFirstNumber.replace(/^0+/, "") || 0);
Добавлено.
Kley wrote:Нашел (специально не ищу, попадаются :) ) ...
Исправлено :)

Posted: Sat Nov 28, 2015 3:53 pm
by KDJ
yozhic
Unfortunately, not reproduced.
Try this version: FindReplaceEx.js.

Posted: Sat Nov 28, 2015 5:55 pm
by yozhic
KDJ
not reproduced
У меня воспроизводится стабильно. И на новой версии тоже воспроизводится. На Windows 8.1 x32. Вот видео. Если прокрутить его на замедленной скорости, то становится видно, что часть строки удаляется при нажатии на Enter в диалоге "Do you want to Batch Replae All?".

Posted: Sat Nov 28, 2015 7:09 pm
by yozhic
KDJ
Попробовал создать ещё одну замену для эксперимента. _temp007 ищет пробел и заменяет на пробел. Посмотрите, пожалуйста, что получилось (нужно прокручивать видео на замедленной скорости). Теперь видно, как часть строки удаляется в правой части окна, в списке Batches. Она просто пропадает, когда до неё доходит очередь замен.

Posted: Sat Nov 28, 2015 7:43 pm
by KDJ
yozhic
After this error occurs, your file FindReplaceEx_templates.tsv has been changed?
It contains:

Code: Select all

_temp006	(?s)<br>(?!<div|<p|<a|\n)(.*?</div>)	\1<br>	0010
or:

Code: Select all

_temp006	(?s)	\1<br>	0010
?

Posted: Sun Nov 29, 2015 12:08 pm
by yozhic
KDJ
It has been changed:

Code: Select all

_temp006   (?s)   \1<br>   0010

Posted: Sun Nov 29, 2015 1:47 pm
by KDJ
yozhic
If you disable option "Closes dialog", the error also occurs?

Posted: Sun Nov 29, 2015 3:44 pm
by Cuprum
Обновлен createSelectedFile.js.
С ключом -forceQuotes не требует обязательного выделения текста; пытается найти сопоставление внутри пары ближайших кавычек относительно курсора.

Posted: Sun Nov 29, 2015 3:55 pm
by yozhic
KDJ
Да, ошибка происходит и при отключенном "Closes dialog". И при отключенном "Without message" она тоже происходит. Проблему вызывает именно это регулярное выражение. Я поменял местами выражения в сценарии – посмотрите, пожалуйста, видео.