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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.05.2012, 14:42   #1
Jadson
Пользователь
 
Регистрация: 06.12.2010
Сообщений: 15
По умолчанию Поиск в Memo

есть программа с текстом в мемо,и нужно осуществлять поиск по нем

вот есть код но он видает только первый результат поиска,а нужно все.подскажите как пожалуйста
Код:
var
  Find:string; // Искомая строка
  k:integer; // Счетчик для цикла
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
find:=Edit1.Text;
For k:=0 to Memo1.Lines.Count-1 do
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;
Jadson вне форума Ответить с цитированием
Старый 13.05.2012, 17:58   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Правильно. Pos не умеет искать дальше.
Если у тебя есть возможность использовать PosEx - используй.
Или в цикле проверяй проходом посимвольно:
Код:
For k:=0 to Memo1.Lines.Count-1 do
If copy(Memo1.Lines.Text,k,Length(FIND))=FIND Then Begin
 Memo1.SetFocus();
 Memo1.SelStart:=Pos(FIND,Memo1.Lines.Text)-1;
 Memo1.SelLength:=Length(FIND);
End;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.05.2012, 10:16   #3
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

For i:=0 to Memo1.Lines.Count-1 do
begin
if AnsiPos(Find, Memo1.Lines[i])<>0 then
Begin
Memo1.SetFocus();
Memo1.SelStart:=pos(FIND, Memo1.Line[i])-1;
Memo1.SelLength:=Length(FIND);
End;
end;

Последний раз редактировалось Dozent; 14.05.2012 в 10:31.
Dozent вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
поиск в Memo Yokka Общие вопросы C/C++ 1 24.05.2010 16:50
Поиск в MEMO dimafe6 Общие вопросы Delphi 9 09.02.2010 22:03
Поиск по Memo photozaz Общие вопросы Delphi 5 25.05.2008 17:55
Поиск в Memo Terran Общие вопросы Delphi 4 07.05.2008 23:33