Olá! Sexta Feira, 10 de Fevereiro de 2012.



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]

Assis Lima - 25 de Novembro de 2011 - 17:10
Este arqtigo foi de otimo proveito pra mim.
Funcionou perfeito. Resolveu um problema de urgencia que não teria tempo para elaborar o algoritimo e desenvolver.
Obrigado.
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:






CodigoFonte.net » CodigoFonte.eti.br » Compre De Tudo » Meu Mural » Competiva - Criação de Sites » Todos os Direitos Reservados © 2002/2010

Procurando Notebooks, Câmeras Digitais, iPhones?

CompreDeTudo.com