» Início » Programação » PHP » Procurando Letras e Palavras em um TMemo.
 
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.

- 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.

- Insira um Componente TMemo.

- 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.

- 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!