![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Здравствуйте, коллеги ! Есть процедура поиска и выделения строки в компоненте TMemo, как ее можно дополнить, что бы когда я нажимаю на кнопку ищется текст, а потом когда я нажимаю еще раз эту кнопку ищется текст далее . . . Это нужно для того, если в TMemo имеются два одинаковых слова, а эта процедура найдет лишь первое слово, а второго уже не найдет . . .
procedure TPrintBox.FindButtonClick(Sender: TObject); var I: Integer; Find: string; begin Find := FindEdit.Text; for I := 0 to PrintMemo.Lines.Count - 1 do if Pos(Find, PrintMemo.Lines.Text) <> 0 then begin PrintMemo.SetFocus(); PrintMemo.SelStart := Pos(Find, PrintMemo.Lines.Text) - 1; PrintMemo.SelLength := Length(Find); end; end; |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,542
|
![]()
в D7 есть функция PosEx (поиск с указанием начальной позиции)
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Да ! Спасибо ! Попробую !
![]() |
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Попробовал, всеравно что-то не получается, скорее всего я использую, как-то не почеловечески эту функцию :
var Find: string; begin I := PrintMemo.SelStart; Find := FindEdit.Text; P := PosEx(Find, PrintMemo.Lines.Text, I); if P > 0 then begin PrintMemo.SetFocus; PrintMemo.SelStart := PosEx(Find, PrintMemo.Lines.Text, I) - 1; PrintMemo.SelLength := Length(Find); end; end; Подскажите пожалуйста, как правильно будет ? ![]() |
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 21.07.2008
Сообщений: 192
|
![]() Код:
Последний раз редактировалось lexaltd; 28.07.2009 в 22:42. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Да, спасибо огромное
![]() |
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 15.12.2007
Сообщений: 422
|
![]()
Вот немного подкорректировал, вот, что получилось :
Код:
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 30.07.2009
Сообщений: 2
|
![]()
Уважаемый RIO, я вас очень сильно люблю, и очень сильно скучаю!!!!!!!!!! Пожалуйста, свяжитесь со мной!!!!!!! Мне вас очень сильно не хватает!!!!!!!!!!
С любовю Ваша Катя ![]() |
![]() |
![]() |
![]() |
#9 |
Новичок
Джуниор
Регистрация: 30.07.2009
Сообщений: 2
|
![]()
Кстате, могу проконсультировать вас по последнему вопросу, но лучше будеть давать консультацию по аське
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
поиск в TMemo и работа со строками | MixanMM | Общие вопросы Delphi | 5 | 15.06.2009 13:44 |
Как сделать поиск по компоненту Tmemo?? | photozaz | Общие вопросы Delphi | 4 | 16.04.2008 08:23 |
необычный ProgressBar | andrey4623 | Общие вопросы Delphi | 3 | 27.12.2007 19:25 |
Немного математики | Socol | Помощь студентам | 3 | 18.02.2007 02:01 |