Автор Тема: Замеченные ошибки и странности  (Прочитано 10388 раз)

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #15 : Апрель 24, 2014, 04:32:08 pm »
Ещё вспомнил из оставшихся неудобств. Когда добавляешь в список новую замену, то выделенными становятся два пункта списка: свежесозданный и тот, что был выделен перед добавлением. Это не очень удобно, когда этот добавленный элемент нужно поднять вверх по списку, так как при этом поднимается и второй выделенный пункт. На мой взгляд, правильным было бы выделять только новый созданный элемент списка.
(http://s019.radikal.ru/i623/1404/12/b0b691f99b86.png) (http://s019.radikal.ru/i623/1404/7f/3daa8f4aa632.png)

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #16 : Апрель 26, 2014, 12:56:14 pm »
При использовании XML-файлов UTF-8, перекодированных в ANSI, вообще не обрабатываются программой, если в них есть буквы выходящие за пределы основной латиницы. В этом случае при попытке любой замены содержимое файла удалится, а журнал показывает 0 замен . Когда пытаешься сделать любую замену в содержимом этого XML-файла через буфер обмена, весь текст из буфера обмена также удаляется, а при нескольких нажатиях кнопки "заменить" появляется ошибка:


P.S. Пример такого XML-файла находится во вложении.

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #17 : Апрель 26, 2014, 03:05:19 pm »
К сожалению, опция повторения замены "Пока есть что заменять" не работает так, как надо, и нуждается в оптимизации. Её использование значительно замедляет, а то и подвешивает программу, особенно на сложных заменах.

Приведу следующий пример:

Имеется файл размером около 45 кБ. К нему применяю регулярное выражение по поиску дубликатов строк и их удалению:
  <Item> <Find>(\n|^)([^\n]*)(.*?\n)\2\n</Find> <Replace>$1$2$3</Replace>  <Checked>1</Checked>  <Flags>r</Flags>  <Repeat>0</Repeat>  </Item>
Вот только программа подвисает на этом файле. У меня так в режиме командной строки провисела около 2-3 часов, загрузив на 100% одно из ядер процессора, пока я не убил процесс.

По идее, эта замена должна повториться столько раз, сколько раз найдёт совпадения, плюс последний холостой прогон, чтобы убедиться, что он действительно последний  и совпадений больше нет.

В Notepad++ я с помощью приведённого выше регулярного выражения установил, что для моего файла требуется 11 повторений замены. Тогда я замерил время действия 12 дубликатов (11 + холостой) замены в списке и замену, повторяющуюся 12 раз. В обоих случаях время обработки составило около 27 секунд. То есть, если бы опция "Пока есть что заменять" работала верно, время обработки должно было бы быть примерно таким же.

Впрочем, зависания происходят не так часто, лишь с большими файлами. С прочими файлами опция работает просто медленнее.

К примеру у другого файла, где требуется 10 прогонов замены, получается следующее время:
- 10 дубликатов замены - ~1 с
- повтор замены 10 раз - ~1 с
- "Пока есть что заменять" - ~13 с

Как говорится, результат налицо.

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #18 : Апрель 28, 2014, 09:09:04 am »
В этой теме (http://uvsoftium-forum.ru/index.php?topic=4944.0) замечена вариация ошибки в XML-содержащих документах. Хотя, в отличие от описанного выше случая (http://uvsoftium-forum.ru/index.php?topic=175.msg5997#msg5997), Кодирован весь документ не в ANSI, а в UTF-8.

Причину сбоя пока не выяснил, но добавилась эта ошибка в последней версии, на предыдущей всё работает нормально. Подозреваю, что сбой происходит при анализе кодировки документа.

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #19 : Май 06, 2014, 12:04:35 pm »
При импорте списка замен (при нажатии "Добавить из файла") теряется информация о количестве повторов замены, то есть все замены импортируются с повторением 1 раз, независимо от того, сколько у них было повторов в сохранённом списке.

Nata15

  • Newbie
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #20 : Июнь 29, 2014, 05:08:01 pm »
Когда пыталась сделать замены в файле .doc Word 2003, программа uvFilesCorrector сказала, что замены произведены, однако при попытке открытия самого файла .doc появилось сообщение об ошибке. Файл так и не открылся  :(   .txt-файлы у меня нормально правит, проблем не было.
« Последнее редактирование: Июнь 29, 2014, 05:10:19 pm от Nata15 »

Nata15

  • Newbie
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #21 : Июль 08, 2014, 08:30:44 pm »
У меня вылетела вот такая ошибка: TRegExpr(comp): ParseReg Too Many () (pos 138)
Слишком много скобок? Я добавила новую замену в список, там 15 пар скобок.

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #22 : Август 01, 2014, 11:58:37 am »
Если в обрабатываемом файле имеется символ с кодом 0x00 (он же NUL, он же \x00), то обрабатывается текст только перед первым таким символом в тексте, а сам символ и последующий текст удаляются.

Arex

  • Jr. Member
  • **
  • Сообщений: 54
    • Просмотр профиля
Re: Замеченные ошибки и странности
« Ответ #23 : Сентябрь 05, 2014, 12:29:55 am »
Если обрабатываемый файл имеет размер 0 байт, то выскакивает ошибка: