Fórum Estou precisando efetuar um pesquisa dentro de um memo #141361

26/02/2003

0

Preciso pesquisar por palavras dentro de um memo e que cada vez q eu clique no botão proxima ele localize a proxima ocorrencia da palavra pesquisada

Valeu pela atenção...


Anonymous

Anonymous

Responder

Posts

26/02/2003

Jycn

Caro amigo, sugiro que você use um RichEdit, se aceitar aqui está uma funçãozinha que pode te ajudar..

Utilize um componente FindDialog, um RichEdit, e um Button,

=Button
procedure TForm1.Button1Click(Sender: TObject);
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;

No Evento OnFind.....

procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do begin
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;

ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar