|
||
|
|
|
Avaliação: Não avaliado | Publicado em: 23/02/2008
Procurando Letras e Palavras em um TMemo.
Fred Jader Desenvolvedor web desde os 12 anos, Frederico Jader hoje em dia atua como diretor de arte e administrador de portais em geral, tendo como mais novo projeto o site www.gamesnahora.com
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: CÓDIGO 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: CÓDIGO 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 ... CÓDIGO 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! ![]() |
|
|
|