TMemo e TDBMemo: Pesquisa e margens
Neste artigo aprenderemos a fazer uma pesquisa e colocar margens no TMemo e no TBDMemo.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
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.
Gosto de todas as linguagens de programação mais tem uma em especial o PASCAL;)__________ ;) saveriovertoni.wordpress.com saverio.vertoni@hotmail.com

código fonte

