DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 
DevWare  
Novidade: DevMedia lança o DevWare - Saiba mais!

TMemo e TDBMemo: Pesquisa e margens

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

[fechar]

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:

Layout do Formulário

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.


Savério Vertoni Jr.
Gosto de todas as linguagens de programação mais tem uma em especial o PASCAL;)__________ ;) saveriovertoni.wordpress.com saverio.vertoni@hotmail.com
O que você achou deste post?

    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!
Cursos relacionados
Publicidade
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
[Fechar] Você precisa estar logado para dar seu feedback.

Clique aqui para efetuar o login

Caso não tenha um cadastro DevMedia, clique aqui para se cadastrar (gratuito)
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2013 - Todos os Direitos Reservados a web-03