TMemo e TDBMemo: Pesquisa e margens

Neste artigo aprenderemos a fazer uma pesquisa e colocar margens no TMemo e no TBDMemo.

Neste artigo ensinarei à vocês como se fazer uma pesquisa, e margear no TMemo:

Neste pequeno artigo vocês aprenderão como pesquisar texto e formatar o conteúdo do TMemo com margens à direita e esquerda. Vamos abrir o Delphi e criar um novo projeto, e em seguida adicionar os seguintes componentes no formulário: um TMemo, um TEdit e dois TButton conforme o layout da imagem abaixo:


Figura 1. Layout do Formulário

Depois de realizado este processo, ao evento OnClick do Button1 "Caption Buscar conforme Layout", implementar o seguinte código:

Listagem 1: Implementando onClick do Button1

procedure TForm1.Button1Click(Sender: TObject); var Find: string; i: integer; begin Find := Edit1.Text; For i := 0 to Memo1.Lines.Count - 1 do If Pos(Find, Memo1.Lines.Text) <> 0 Then Begin Memo1.SetFocus(); Memo1.SelStart := Pos(Find, Memo1.Lines.Text) - 1; Memo1.SelLength := Length(Find); end; end;

Ao clicar no Button1 esse código irá procurar o texto digitado no Edit1, dentro do Memo1 e encontrá-lo irá dar um destaque para o mesmo. Bastante simples e direto, além de não ser complexo, bastante útil para Blob Text extenso.

Agora, vamos adicionar margens no Memo1. Para adicionar margens no TMemo é necessário enviar uma mensagem EM_SETRECT e definir o recurso de tamanho de tela.

Vamos ao código. No evento OnClick do Button2 "Caption Margens conforme Layout", implementar o seguinte código:

Listagem 2: Implementando onClick do Button2

procedure TForm1.Button2Click(Sender: TObject); var R: TRect; LeftMargin: integer; RightMargin: integer; begin LeftMargin:= 20; RightMargin:= 10; R:= Memo1.ClientRect; R.Left:= R.Left + LeftMargin; R.Top:= R.Top + 2; R.Bottom:= R.Bottom - 2; R.Right:= R.Right-RightMargin; SendMessage(Memo1.Handle, EM_SETRECT, 0, Longint(@R)) ; end;

Lembrando que o mesmo exemplo poderá ser usado com o componente TDBMemo. Agora tudo o que temos que fazer é adicionar qualquer texto nas linhas do componente Memo1 e ver o excelente resultado.

Espero que tenham gostado, segue o código fonte para facilitar o trabalho de vocês.

Muito obrigado. Fico por aqui, e espero por vocês na próxima! Grande abraço.

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados