|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
09.04.2010, 09:02 | #1 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
Работа с RichEdit
Привет всем!
Не могу до конца проработать один момент. Организовываю поиск подстроки в тексте. Для вывода текста используется RichEdit. Необходимо найти все вхождения подстроки и выделить их красным цветом. Пробовал 2 способа: 1) При нажатии кнопки проходить по тексту целиком, организовав в цикле проверку. Код:
1- в memo2 первое вхождение выводится 2 раза, остальные нормально. 2- Позиция PatPos, начиная со второй строки высчитывается неправильно. Как я понимаю это из за того что в конце каждой строки есть символы перехода на новую строку и возврата каретки #10#13. Из этого следует вопрос, как их игнорировать ? 3- найденная подстрока выделяется только в первой строке. 2-ой способ – построчное считывание Код:
В этом способе пока не могу исправить следующие ошибки: 1- В memo2 первое вхождение выводится 2 раза, остальные нормально. 2- Как правильно просчитать PatPos, поскольку сейчас она считает её отдельно для каждой строки. 3- Найденная подстрока выделяется только в первой строке. Так как мои мысли "замылились" прошу Вашего свежего взгляда и дельного совета Забыл уточнить , все поиски осуществляются с помощью алгоритма Бойера-Мура, использовать pos() и подобные функции нельзя
Движение - жизнь. Остановка - ... ?
Последний раз редактировалось kaizer131; 09.04.2010 в 10:19. Причина: уточнение |
09.04.2010, 10:03 | #2 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Могу вам подкинуть поиск и выделение найденого слова в ричэдит
Код:
если слово целиком то Flags:=FT_WHOLEWORD; Последний раз редактировалось SERG1980; 09.04.2010 в 10:20. |
09.04.2010, 12:08 | #3 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
попробовал так
не получилось Код:
Движение - жизнь. Остановка - ... ?
|
09.04.2010, 12:30 | #4 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
А что именно, у меня например все найденные слова красным веделяет
Последний раз редактировалось SERG1980; 09.04.2010 в 12:32. |
09.04.2010, 13:18 | #5 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
Хм странно , твой ЕХЕ шник запустил, нормально всё работает, открыл проект , запустил, невыделяет, у тебя какая delphi?
У меня 2009... может в ней косяк ?
Движение - жизнь. Остановка - ... ?
|
09.04.2010, 13:33 | #6 |
Участник клуба
Регистрация: 28.03.2007
Сообщений: 1,814
|
Может быть у меня 2006
|
09.04.2010, 14:24 | #7 |
Пользователь
Регистрация: 21.03.2009
Сообщений: 52
|
хм, может кто сталкивался с подобным?
Движение - жизнь. Остановка - ... ?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с RichEdit | xmaksimca | Компоненты Delphi | 1 | 24.12.2009 20:25 |
Работа с RichEdit в Delphi7 | Ариил | Помощь студентам | 1 | 23.12.2009 15:21 |
Работа с RichEdit WinApi | Igoressicus | Помощь студентам | 2 | 29.05.2009 21:31 |
Работа с Richedit | vitamin.rulez | Помощь студентам | 2 | 28.01.2009 18:12 |
RichEdit - работа с Clipboard | GAGARIN-NEW | Компоненты Delphi | 5 | 16.12.2007 20:30 |