Categoria Dicas Delphi - Procurando Letras, Palavras em um TMemo.

Posted by webmaster | Delphi |

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;

Tags:

Nenhum Comentário

Nenhum comentário ainda.

Feed RSS dos comentários deste post TrackBack URI

O formulário de comentários está fechado no momento.