Вверх ↑
Этот топик читают: Гость
Ответов: 1519
Рейтинг: 175
#61: 2012-01-29 22:58:04 ЛС | профиль | цитата
Ого, не думал, что это прокатывает! Спасибо!
------------ Дoбавленo в 22.58:
Гы, поспешил, глянул на код и клюнул. К сожалению, не работает.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Гость
Ответов: 17029
Рейтинг: 0
#62: 2012-01-29 23:09:08 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2020-03-01 19:11:55
карма: 0

0
Ответов: 1519
Рейтинг: 175
#63: 2012-01-29 23:14:51 ЛС | профиль | цитата
г. ость, так работает, но нужен именно пробел. В принципе, я уже решил проблему с другим компонентом - Replace последовательно.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#64: 2012-01-29 23:34:59 ЛС | профиль | цитата
ser_davkin писал(а):
В принципе, я уже решил проблему с другим компонентом - Replace последовательно.

Два пробела подряд и все

<del>

Гы. Не работает, а ведь делали, что работает. Полез смотреть
------------ Дoбавленo в 23.34:
Оказывается, экранирование мы в MultiBlockFind-e сделали. Нпорядок, надо добавлять
карма: 20

0
Ответов: 3889
Рейтинг: 362
#65: 2012-01-29 23:43:50 ЛС | профиль | цитата
nesco, экранирование там как раз работает, но не с пробелом (то есть 33 вставится, а 32 - нет). При вставке происходит тримминг, надо думать.
карма: 1

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#66: 2012-01-29 23:48:31 ЛС | профиль | цитата
1nd1g0 писал(а):
При вставке происходит тримминг, надо думать

Да, происходит. Надо делать так, как мы сделали в MultiBlockFind-e

Сделал как MultiBlockFind-e -- экранирование backslash-ами
Добавлено на SVN. Можете пробовать.

ser_davkin-у отходит заслуженный "+"
карма: 20

0
Гость
Ответов: 17029
Рейтинг: 0
#67: 2012-01-31 08:59:20 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2020-03-01 19:11:52
карма: 0

0
Ответов: 3889
Рейтинг: 362
#68: 2012-01-31 09:20:28 ЛС | профиль | цитата
г. ость писал(а):
Я один счастливый обладатель "Runtime error 216 at 0000BCEB" после обновления с SVN компонента MultiReplace?

Ошибка возникает в hiMultiReplace, на 42-й строке, в обновлённой функции триммера:
#pas
if Result[L] <> '\' then
рискну ткнуть пальцем в небо, что, если это относительное смещение, L должен быть на единицу меньше длины.
------------ Дoбавленo в 09.20:
г. ость писал(а):
я что-то не так сделал?

Думаю, там ещё может потребоваться использовать экранирование - \\n, т.к. \n воспринимается как новая строка, что, возможно, не входит в планы заменяющего.
карма: 1

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#69: 2012-01-31 11:20:25 ЛС | профиль | цитата
г. ость писал(а):
"Runtime error 216 at 0000BCEB"

Я посмотрю, чуть позднее

------------ Дoбавленo в 10.25:
Проблема в том, что замена на пустую строку не поддерживается
------------ Дoбавленo в 11.20:
Исправлено. Можете проверять
карма: 20

0
Ответов: 1519
Рейтинг: 175
#70: 2012-01-31 11:33:45 ЛС | профиль | цитата
nesco, кажется, пробел не заменяется на пустоту.
------------ Дoбавленo в 11.33:
А, нет, виноват, помогли.
карма: 1
Не так страшна ошибка, как опасность её не заметить.

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#71: 2012-01-31 11:48:49 ЛС | профиль | цитата
1nd1g0 писал(а):

воспринимается как новая строка

Вообще-то, ЕМНИП, [b]
[/b] и до кода не доходит
------------ Дoбавленo в 11.48:
Проверил, действительно. Вот это



Add(DoData,4193839,147,119)
{
Data=String(
)
}

В кодогнераторе менется вот на это



DoData_1B0E9B0 := THIDoData.Create;
with DoData_1B0E9B0 do begin
_prop_Data := _DoData(PChar(#10#0));
end;
карма: 20

0
Ответов: 3889
Рейтинг: 362
#72: 2012-01-31 11:49:22 ЛС | профиль | цитата
nesco писал(а):
ЕМНИП,
и до кода не доходит

Так о чём и речь, что нужно экранировать.
карма: 1

0
Разработчик
Ответов: 25681
Рейтинг: 2087
#73: 2012-01-31 12:17:43 ЛС | профиль | цитата
1nd1g0 писал(а):
Так о чём и речь, что нужно экранировать

Все правильно, нужно обязательно
------------ Дoбавленo в 12.17:
Посмотрел -- [b]
[/b] нужно экранировать в исходнм тексте, тогда, при двух слэшах в MultiReplace, [b]
[/b] заменится на нужное выражение. Те, и в исходном тексте, и в MultiReplace должно стоять \n
карма: 20

0
Гость
Ответов: 17029
Рейтинг: 0
#74: 2012-05-03 17:03:32 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2020-03-01 19:11:55
карма: 0

0
Ответов: 3851
Рейтинг: 159
#75: 2012-05-03 21:13:52 ЛС | профиль | цитата

nesco, а ты не мог бы добавить что-то типа точки Replaced - массив произведённых замен? опционально конечно, чтобы не нагружать проц, если кому оно не нужно.
требуется позаменять во введённом пользователем имени файла, все недопустимые символы на что-то нейтральное, прямо во время ввода, а чтобы он не удивлялся, написать в статусбар причину..
карма: 0
начавший
0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)