44.gprs.mts.ru писал(а):
я имел в виду экранированиеНу так попробуй, может получится
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
44.gprs.mts.ru писал(а): я имел в виду экранированиеНу так попробуй, может получится |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
карма: 10 |
| ||
файлы: 1 | code_24750.txt [390B] [434] |
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin писал(а): Увы, но нетЯ говорил тебе сделать его в компоненте, а не применять его. Оно же не реализовано |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
nesco писал(а): Я говорил тебе сделать его в компоненте, а не применять его. Оно же не реализованоДля начала мне надо понять, как оно вообще работает, я ведь минут десять сидел и разбирался как работает этот компонент на уровне пользователя (то есть в конструкциях псевдокода), а уж в коде так вообще ужас. |
|||
карма: 10 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Assasin писал(а): а уж в коде так вообще ужас.Ты ему тоже следуешь - открывал твои компоненты Assasin писал(а): а уж в коде так вообще ужас |
|||
карма: 25 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Tad писал(а): Assasin, писать комментарии к каждой строчке кода - дурной тон.Зачем к каждой, только к определениям функций! Но уже поздно, я разобрал и у себя прокомментировал
Мда, весьма оригинально копировать туда-сюда строки Когда можно было бы без дополнительной проверки и без переносов:
А вообще, nesco, давай не будем засорять форум и поговорим в руме (если успеешь зайти до того, как я выйду). ------------ Дoбавленo в 20.33: А собственно говоря, а зачем оно так?
А вот и решение для работающих пробелов, правда оно хитрое получилось Заменить функцию Trim в файле hiMultiBlockFind.pas на эту:
|
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin, а почему вот так не работает
|
|||
карма: 22 |
|
Гость
Ответов: 17029
Рейтинг: 0
|
|||
Редактировалось 7 раз(а), последний 2021-06-21 04:08:51 |
|||
карма: 0 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
5.gprs.mts.ru писал(а): Я алгоритм поиска блока не менял, а он по идее должен обрабатывать любые startblock, endblock и тексты.А вот не нравится ему твое экранирование, чего-то там не хватает ------------ Дoбавленo в 10.45: nesco писал(а): А вот не нравится ему твое экранирование, чего-то там не хватаетПонял чего не хватает -- правильного понимания экранирования пробелов, а именно: " " -- экранирование справа, " " -- экранирование слева, " " -- экранирование с обоих сторон, это когда используется только пробел |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
Эх, с мобилы не заметил, что в маске присутствует звездочка перед слешем, так оно и не будет работать, т.к экранирование
Assasin писал(а): хитрое получилось Оно работает так (хотя ты уже наверняка разобрался в коде сам ): 1. Если в конце строки '\', значит удаляем этот символ и переходим к пункту 2, иначе удаляем все пробелы в конце строки и переходим к пункту 2. 2. Если в начале строки '\', значит удаляем этот символ, иначе удаляем все пробелы в начале строки. |
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin писал(а): Оно работает так (хотя ты уже наверняка разобрался в коде сам ):
1. Если в конце строки '\', значит удаляем этот символ и переходим к пункту 2, иначе удаляем все пробелы в конце строки и переходим к пункту 2. 2. Если в начале строки '\', значит удаляем этот символ, иначе удаляем все пробелы в начале строки Мля... Ты хоть мой предыдущий пост читал nesco писал(а): Понял чего не хватает -- правильного понимания экранирования пробелов, а именно: " \" -- экранирование справа, "\ " -- экранирование слева, "\ \" -- экранирование с обоих сторон, это когда используется только пробел |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
nesco писал(а): Мля... Ты хоть мой предыдущий пост читал Читал, читал, что ты кипятишься-то? Я так и не понял, какого такого правильного не хватает? Судя по твоему посту, правильным ты считаешь именно то, какое я и сделал. |
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin писал(а): Я так и не понял, какого такого правильного не хватает?У тебя кондишин не работает, да nesco писал(а): правильного понимания экранирования пробелов, а именнопонимания того, как ты сделал ------------ Дoбавленo в 13.53: Assasin писал(а): Судя по твоему посту, правильным ты считаешь именно то, какое я и сделалЯ не считаю, я проверил и вроде против не выступал. А постом я описал то, что проверил. Ты же не удосужлся описать, как оно должно работать, пришлось ставить эксперимент и описывать самому |
|||
карма: 22 |
|
Разработчик
Ответов: 4698
Рейтинг: 426
|
|||
nesco писал(а): правильного пониманияслово "правильного" я как-то не заметил nesco писал(а): Я не считаю, я проверил и вроде против не выступал.А как ты предлагаешь? Вообще можно попробовать переписать компонент под эдакий компилятор: маска парсится при старте программы, создается дерево вызовов, и при воздействии на точку doMultiBlockFind просто вызывается поочередно стартовая функция выполнения поиска каждого блока |
|||
карма: 10 |
|
Разработчик
Ответов: 26113
Рейтинг: 2126
|
|||
Assasin писал(а): А как ты предлагаешь?Я ничего не предлагал, я согласился с твоим предложением Assasin писал(а): Вообще можно попробовать переписать компонент под эдакий компилятор: маска парсится при старте программы, создается дерево вызовов, и при воздействии на точку doMultiBlockFind просто вызывается поочередно стартовая функция выполнения поиска каждого блокаТы хочешь заняться, а может не стоит, работает и пусть себе работает. Соверешенству предела нет |
|||
карма: 22 |
|