Início > Artigos, Delphi > TMemo e TDBMemo: Pesquisa e margens

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.

Anúncios
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: