Olá Galera !!!!
Aqui vai um código, espero que seja útil para Você !!!!
Crie um Projeto em Branco.
1- O 1º Passo é vc ir até a paleta 'Dialogs" e colocar em seu Form (Formulário) o componente TFindDialog. ñ precisa mudar a propriedade Name dele pode deixa Finddialog1.
2º- Insira um Componente TMemo.
3º- Declare a Variável "FSelPos" bem aqui:
Ex:
private
{ Private declarations }
FSelPos: integer;
public
{ Public declarations }
end;
Ela foi delcarada abaixo do Form1 neste exemplo porq essa variável
será acessada fora da classe.
4º- Vá até o componente FindDialog1 e insira o seguinte código ao Evento 'Onfind" do componente:
var
S : string;
startpos : integer;
begin
with TFindDialog(Sender) do
begin
if FSelPos = 0 then
Options := Options - [frFindNext];
if frfindNext in Options then
begin
StartPos := FSelPos + Length(Findtext);
S := Copy(Memo1.Lines.Text, StartPos, MaxInt);
end
else
begin
S := Memo1.Lines.Text;
StartPos := 1;
end;
FSelPos := Pos(FindText, S);
if FSelPos > 0 then
begin
FSelPos := FSelPos + StartPos - 1;
Memo1.SelStart := FSelPos - 1;
Memo1.SelLength := Length(FindText);
Memo1.SetFocus;
end
else
begin
if frfindNext in Options then
S := Concat('Não há nehuma ocorrência para "', FindText,
'" no memo..')
else
S := Concat('Não foi possível achar: ',findtext);
MessageDlg(S, mtError, [mbOK], 0);
end;
end;
end;
//Aqui, quando clicar no botão ele irá abrir o diálogo de procura ...
procedure TForm1.Button1Click(Sender : TObject);
begin
//Irá começar a procurar desde 0, lá em cima.
FSelPos := 0;
FindDialog1.Execute;
end;
Pessoal espero que esse artigo tenha sido aproveitado por vocês !!!!
Até os Próximos Artigos que eu esterei publicando !!!!
---> Galera se vcs gostaram do Artigo mandem suas opniões, senão pdem ajuda que eu estarei olhando e respondendo Todos VCs !!!
Pronto Pessoal, qualquer dúvida mandar um email para:
Kennedy Tedesco ([email protected])