Olá! Sábado, 04 de Julho de 2009.


Dicas CódigoFonte.net
Quarta Feira, 26 de Abril de 2006

Procurando Letras, Palavras em um TMemo.

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 (kennedy@delphi.eti.br)

Comentários do artigo [Novo comentário]

Nenhum comentário, seja o primeiro a comentar.
Para adicionar um comentário você deve efetuar o login


Gostou do CódigoFonte.net? Quer indicar a um amigo?
Preencha os campos a seguir.
Seu Nome:
Seu E-mail:
E-mail de seu Amigo:



Melhor Visualizado com
800x600 de Resolução

CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » PelamorDeDeus » Todos os Direitos Reservados © 2002/2008

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com