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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.05.2011, 23:34   #1
Kara1989
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 50
По умолчанию Выделить первое найденное совпадение в memo

Здравствуйте, уважаемые программисты!
У меня к вам есть такой вопрос
В форме расположены Edit1, Memo1 (текст в Memo1 будет загружаться с определенного файла)
Надо теперь сделать так, чтобы программа находила слово или словосочетание, написанной в Edit1, в Memo1. Выделяя тем самым найденное слово в Memo1
Заранее спасибо!
Kara1989 вне форума Ответить с цитированием
Старый 14.05.2011, 23:37   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,430
По умолчанию

1. поиск по форуму
2. поиск по гуглу
3.
Все просто:
Функция Pos
Человек_Борща вне форума Ответить с цитированием
Старый 15.05.2011, 00:04   #3
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Выделяя тем самым найденное слово в Memo1
Что значит выделяла?
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 15.05.2011, 00:12   #4
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Что значит выделяла?
Это значит выставить SelStart/SelEnd
_Engine_ вне форума Ответить с цитированием
Старый 15.05.2011, 00:14   #5
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Это значит выставить SelStart/SelEnd
помоему там не selend, а sellength. Могу ошибаться.
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 15.05.2011, 00:15   #6
_Engine_
Форумчанин
 
Регистрация: 29.06.2008
Сообщений: 603
По умолчанию

может быть, я по памяти писал
_Engine_ вне форума Ответить с цитированием
Старый 15.05.2011, 00:20   #7
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Цитата:
Сообщение от _Engine_ Посмотреть сообщение
Это значит выставить SelStart/SelEnd
А если искомых слов несколько, как тогда выделять?
А если автор хотел выделять например красным цветом или ещё чтото. Тогда нужно использовать RichEdit.
Я хотел просто уточнить этот момент хотя Мемо и Рич взаимозаменяемы и никаких проблем переделка бы не вызвала.

Ну а так да: SelStart, SelLength, функция Pos.
Сливочное масло Valio - компиляция как по маслу

Последний раз редактировалось Valio; 15.05.2011 в 00:24.
Valio вне форума Ответить с цитированием
Старый 15.05.2011, 00:36   #8
Kara1989
Пользователь
 
Регистрация: 04.05.2009
Сообщений: 50
По умолчанию

если в тексте будет найдено несколько совпадений, просто выделить первую из них
с помощью обработчика Edit1OnChange получится сделать?

код приблизительно такой (еще в обработке):

Код:
var
Find:string;
i:integer;
begin
find:=Edit1.Text;
If Pos(FIND, Memo1.Lines.Text)<>0
Then
Begin
Memo1.SetFocus();
Memo1.SelStart:=Pos(FIND,Memo1.Lines.Text)-1;
Memo1.SelLength:=Length(FIND);
End;
end;
Kara1989 вне форума Ответить с цитированием
Старый 15.05.2011, 00:39   #9
Valio
Сливочное масло
Участник клуба
 
Аватар для Valio
 
Регистрация: 01.01.2011
Сообщений: 1,149
По умолчанию

Ну примерно так. Ошибки по мелочи:

Memo1.Lines.Text -> Memo1.Text
Memo1.SetFocus() -> Memo1.SetFocus
Сливочное масло Valio - компиляция как по маслу
Valio вне форума Ответить с цитированием
Старый 15.05.2011, 11:59   #10
Winnerer
Пользователь
 
Аватар для Winnerer
 
Регистрация: 13.05.2011
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Valio Посмотреть сообщение
Ошибки по мелочи:

Memo1.Lines.Text -> Memo1.Text
Memo1.SetFocus() -> Memo1.SetFocus
и в чём же разница?
[ferox]
Winnerer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выделить строки в Memo apromix Компоненты Delphi 2 15.04.2011 14:11
Проверка на совпадение записи Lokos БД в Delphi 4 29.04.2010 08:55
Проверка на совпадение. Firebird. artemavd БД в Delphi 6 18.03.2010 16:34
совпадение в записях kinnder Помощь студентам 3 06.03.2010 15:45
Совпадение имен формул mephist Microsoft Office Excel 4 13.10.2009 09:32