В этом примере неправильно проходит мультистрочная замена. При нажатии на первую кнопку должно быть "test1=B", а компонент складывает "testTEST1=b" - заменяет замененную строку ( каламбурчик еще тот). Прямо не пойму где я дурак...
code_32286.txt
Этот топик читают: Гость
Ответов: 704
Рейтинг: 7
|
|||
карма: 0 |
| ||
файлы: 1 | code_32286.txt [752B] [262] |
Ответов: 8926
Рейтинг: 823
|
|||
Neo, недавно здесь копья ломали, надо-ли пользователя учить работать с этим компонентом
|
|||
карма: 19 |
|
Ответов: 704
Рейтинг: 7
|
|||
Леонид, эта такой намек что я справку не читая, сунулся с вопросом? Таки нет - читал. По формату справки и записал. Вину свою НЕ признаю!
------------ Дoбавленo в 22.06: И поиск по запросу "MultiReplace сломанные копья" ничего не дает |
|||
карма: 0 |
|
Ответов: 8926
Рейтинг: 823
|
|||
карма: 19 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Компонент не выбирает из списка, он проходит весь список последовательно, он так и должен работать.
Разбирем подробнее. Первая кнопка -- 1=b, смотрим список: первая замена -- меняется 1=b на test1=B, вторая замена -- 1=B в полученном выражении меняется на TEST1=b, получается -- testTEST1=b. Тоже самое можно получить, если расположить два Replace последовательно |
|||
карма: 22 |
|
Ответов: 704
Рейтинг: 7
|
|||
Елки-матрелки! Так а если не выходит так подгадать и нужно чтоб результат замены больше не проверялся по списку замен?
------------ Дoбавленo в 22.49: Зачем же он опять проверяет по списку замен то что уже заменено? ------------ Дoбавленo в 22.50: Это что выходит нужно самому мудрить с маской и перебором массива строк-замен? |
|||
карма: 0 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Neo писал(а): Зачем же он опять проверяет по списку замен то что уже заменено?А разве последовательные Replace работают не так Он изначально был разработан именно для замены нескольких последовательных Replace. Почему-то, в случае последовательных Replce ни у кого вопросов не возникало, почему же все думают, что компонент должен работать как-то так, как им нужно |
|||
карма: 22 |
|
Ответов: 8926
Рейтинг: 823
|
|||
Neo писал(а): самому мудрить с маской и перебором массива строк-замен |
|||
карма: 19 |
| ||
Голосовали: | Neo |
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 3 раз(а), последний 2017-06-14 18:46:20 |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Опять выкинуло.
Выше я. |
|||
карма: 25 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
85-250-61-54.bb.netvision писал(а): Когда человек ставит последовательно несколько Replace - он думаетАга, а тут думать не надо. Как тут Galkov-а не вспомнить Galkov писал(а): Какая у него самого была версия происходящего? Которая, самым обидным образом - вдруг не оправдаласьПрощу прощения за то, что ваши ожидания не оправдались, но компонент работал и будет работать так, как он задумывался. И если кому-то чего-то не нравится, то пусть не использует компонент, а делает из дискретных элементов так, как ему хочется. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Из штанов не выпрыгивай.
Посмотрел коды. Что могу сказать - алгоритм замены ошибочный. И ошибки будут и сообщения типа "Мультистрочная замена глючит?" тоже будут. |
|||
карма: 25 |
|
Разработчик
Ответов: 26153
Рейтинг: 2127
|
|||
Tad писал(а): алгоритм замены ошибочныйДоказательства не вижу. И обсуждать ошибки будеи тогда, когда хотя бы одна из них появится, пока их не было. Если представишь ошибку не соотвествующую логике работы компонента, тогда можно будет обсуждать. |
|||
карма: 22 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
code_32288.txt
На выходе ожидал слово из четырёх букв, но никак из пяти. Если ты считаешь это правильным, то .... |
|||
карма: 25 |
| ||
файлы: 1 | code_32288.txt [524B] [160] | ||
Голосовали: | ser_davkin |
Ответов: 8926
Рейтинг: 823
|
|||
Если бы коллегу Neo обучили (или он сам подумал), то и получилось что-то такое: code_32289.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_32289.txt [616B] [209] |