Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2008, 19:45   #1
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию RichEdit

Помагите Мне нужно произвести поиск в поле RichEdit выделить нужное слово красным цветом после чего снять выделение и искать дальше
StartMis вне форума Ответить с цитированием
Старый 22.04.2008, 20:04   #2
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

А ведь существует поиск . Наберите "richEdit поиск".
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 22.04.2008, 20:07   #3
WOLFak
Форумчанин
 
Аватар для WOLFak
 
Регистрация: 30.12.2007
Сообщений: 180
По умолчанию

мне тож интерсно как там цвет изменять? определенного символа или строки
^_^
WOLFak вне форума Ответить с цитированием
Старый 22.04.2008, 20:35   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Если отбросить ложную скромность и попытаться использовать свой мозг хотя бы на полпроцента, можно без труда выяснить, что у RichEdit есть свойство RichEdit.SelAttributes, а у него, в свою очередь, свойство Color...
И уж совсем не составляет труда сообразить присвоить этому свойству нужный цвет:
RichEdit1.SelAttributes.Color:=clRe d;
Голова ведь не только для того, чтобы кушать...
mihali4 вне форума Ответить с цитированием
Старый 22.04.2008, 20:51   #5
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

С выделением я давно разобрался но как найти нужное слово выделить его применить RichEdit1.SelAttributes.Color:=clRe d; через некоторое время убрать RichEdit1.SelAttributes.Color:=clRe d; и далее проделать все это с другими словами если такие имеються
StartMis вне форума Ответить с цитированием
Старый 22.04.2008, 21:10   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

В дополнение к вышесказанному:
у RichEdit, как и у многих компонентов, умеющих работать с текстом, есть еще свойства SelStart, SelLength и много других, о которых (опять-таки без труда) можно узнать из встроенного хэлпа Дельфи.
А "убрать" красный цвет означает тоже простое до смешного - назначить тот цвет, который был до назначения красного.
Я не очень сложные термины использую?
А про поиск в тексте на форуме уже столько написано, что я бы просто постыдился спрашивать.

Последний раз редактировалось mihali4; 22.04.2008 в 22:04.
mihali4 вне форума Ответить с цитированием
Старый 22.04.2008, 21:31   #7
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

Да нет на форуме того чего я спрашиваю мне надо чтобы поиск шел дальше а он находит один фрагмент текста и встает на нем и каждый последующий поиск должен производится через определенное время
StartMis вне форума Ответить с цитированием
Старый 22.04.2008, 22:10   #8
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
каждый последующий поиск должен производится через определенное время
А почему так? Ведь обычно в текстовом редакторе организуется окошко для ввода слова, которое нужно искать. И там есть кнопка "Найти далее"... Так что время вроде бы ни при чем.
Чем ищете? Функцией POS ? А есть еще POSEX, она лучше подойдет.
Кстати, некоторые техники можете позаимствовать в демках Borland\Delphi7\Demos\Doc\TextEdit и Borland\Delphi7\Demos\RichEdit.
Мне кажется, что это вам поможет...
mihali4 вне форума Ответить с цитированием
Старый 23.04.2008, 00:20   #9
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

var k:integer;
begin
with RichEdit1 do
begin
k:=pos (edit1.Text,text);
if k>0 then
begin
RichEdit1.HideSelection:=false;
RichEdit1.SelStart:=k-1;
RichEdit1.SelLength:=Length(edit1.T ext)
end
end;
end;
StartMis вне форума Ответить с цитированием
Старый 23.04.2008, 00:22   #10
StartMis
Форумчанин
 
Регистрация: 21.04.2008
Сообщений: 175
По умолчанию

POSEX и как ее использовать.
StartMis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
RichEdit Valera Помощь студентам 12 04.08.2008 18:38
RichEdit Killbrum Помощь студентам 3 12.06.2008 22:41
RichEdit nimf Общие вопросы Delphi 8 23.04.2008 07:55
RichEdit и *.gif Teen4jump Общие вопросы Delphi 2 03.04.2008 10:10
RichEdit Римма Компоненты Delphi 3 23.01.2008 14:33