Вверх ↑
Этот топик читают: Гость
Ответов: 704
Рейтинг: 7
#1: 2013-11-09 20:53:21 ЛС | профиль | цитата
В этом примере неправильно проходит мультистрочная замена. При нажатии на первую кнопку должно быть "test1=B", а компонент складывает "testTEST1=b" - заменяет замененную строку ( каламбурчик еще тот). Прямо не пойму где я дурак...
code_32286.txt
карма: 0

0
файлы: 1code_32286.txt [752B] [262]
Ответов: 8926
Рейтинг: 823
#2: 2013-11-09 21:31:09 ЛС | профиль | цитата
Neo, недавно здесь копья ломали, надо-ли пользователя учить работать с этим компонентом
карма: 19

0
Ответов: 704
Рейтинг: 7
#3: 2013-11-09 22:06:01 ЛС | профиль | цитата
Леонид, эта такой намек что я справку не читая, сунулся с вопросом? Таки нет - читал. По формату справки и записал. Вину свою НЕ признаю!
------------ Дoбавленo в 22.06:
И поиск по запросу "MultiReplace сломанные копья" ничего не дает
карма: 0

0
Ответов: 8926
Рейтинг: 823
#4: 2013-11-09 22:32:08 ЛС | профиль | цитата
Neo, http://forum.d2h.ru/forum.html?q=3&p=261194#p261194
карма: 19

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#5: 2013-11-09 22:38:19 ЛС | профиль | цитата
Компонент не выбирает из списка, он проходит весь список последовательно, он так и должен работать.
Разбирем подробнее. Первая кнопка -- 1=b, смотрим список: первая замена -- меняется 1=b на test1=B, вторая замена -- 1=B в полученном выражении меняется на TEST1=b, получается -- testTEST1=b. Тоже самое можно получить, если расположить два Replace последовательно
карма: 22

0
Ответов: 704
Рейтинг: 7
#6: 2013-11-09 22:50:27 ЛС | профиль | цитата
Елки-матрелки! Так а если не выходит так подгадать и нужно чтоб результат замены больше не проверялся по списку замен?
------------ Дoбавленo в 22.49:
Зачем же он опять проверяет по списку замен то что уже заменено?
------------ Дoбавленo в 22.50:
Это что выходит нужно самому мудрить с маской и перебором массива строк-замен?
карма: 0

0
Разработчик
Ответов: 26153
Рейтинг: 2127
#7: 2013-11-09 22:55:35 ЛС | профиль | цитата
Neo писал(а):
Зачем же он опять проверяет по списку замен то что уже заменено?

А разве последовательные Replace работают не так Он изначально был разработан именно для замены нескольких последовательных Replace.
Почему-то, в случае последовательных Replce ни у кого вопросов не возникало, почему же все думают, что компонент должен работать как-то так, как им нужно
карма: 22

0
Ответов: 8926
Рейтинг: 823
#8: 2013-11-09 23:04:50 ЛС | профиль | цитата
Neo писал(а):
самому мудрить с маской и перебором массива строк-замен
И не факт, что получится медленее
карма: 19

1
Голосовали:Neo
Гость
Ответов: 17029
Рейтинг: 0
#9: 2013-11-09 23:52:29 правка | ЛС | профиль | цитата


Редактировалось 3 раз(а), последний 2017-06-14 18:46:20
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#10: 2013-11-09 23:54:23 ЛС | профиль | цитата
Опять выкинуло.
Выше я.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#11: 2013-11-10 00:20:46 ЛС | профиль | цитата
85-250-61-54.bb.netvision писал(а):
Когда человек ставит последовательно несколько Replace - он думает

Ага, а тут думать не надо. Как тут Galkov-а не вспомнить
Galkov писал(а):
Какая у него самого была версия происходящего? Которая, самым обидным образом - вдруг не оправдалась

Прощу прощения за то, что ваши ожидания не оправдались, но компонент работал и будет работать так, как он задумывался. И если кому-то чего-то не нравится, то пусть не использует компонент, а делает из дискретных элементов так, как ему хочется.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#12: 2013-11-10 00:58:51 ЛС | профиль | цитата
Из штанов не выпрыгивай.
Посмотрел коды. Что могу сказать - алгоритм замены ошибочный.
И ошибки будут и сообщения типа "Мультистрочная замена глючит?" тоже будут.


карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Разработчик
Ответов: 26153
Рейтинг: 2127
#13: 2013-11-10 01:05:33 ЛС | профиль | цитата
Tad писал(а):
алгоритм замены ошибочный

Доказательства не вижу. И обсуждать ошибки будеи тогда, когда хотя бы одна из них появится, пока их не было. Если представишь ошибку не соотвествующую логике работы компонента, тогда можно будет обсуждать.
карма: 22

0
Ответов: 16884
Рейтинг: 1239
#14: 2013-11-10 10:46:52 ЛС | профиль | цитата
code_32288.txt
На выходе ожидал слово из четырёх букв, но никак из пяти.
Если ты считаешь это правильным, то ....
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
1
файлы: 1code_32288.txt [524B] [160]
Голосовали:ser_davkin
Ответов: 8926
Рейтинг: 823
#15: 2013-11-10 11:18:46 ЛС | профиль | цитата
Если бы коллегу Neo обучили (или он сам подумал), то и получилось что-то такое: code_32289.txt
карма: 19

0
файлы: 1code_32289.txt [616B] [209]
Сообщение
...
Прикрепленные файлы
(файлы не залиты)