DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Como definir o número máximo de caracteres por linha de um Memo.

Com esta código é possível definir quantos caracteres pode ter por linha
e também o número máximo de linhas que o memo pode ter.

O código é válido para o DBMemo também.

No evento OnKeyPress deixe conforme o exemplo abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure Tfrmproduto_pedido.DBMemo1KeyPress(Sender: TObject;
  var Key: Char);
var
  vVertical, vHorizontal : Longint;
begin
  // Caracteres por linha
  vVertical := 59;
 
  // Número máximo de linhas
  vHorizontal := 6;
 
  TMemo(Sender).MaxLength := vVertical * vHorizontal;
 
  with TMemo(Sender) do
  begin
    if ((TMemo(Sender).Lines.Count = vHorizontal + 1) and (key <> #8)) or
    ((TMemo(Sender).Lines.Count = vHorizontal) and (key = #13)) then
    begin
      Key := #0
    end
    else begin
      if (not (Key in [#8, #13])) then
      begin
        if (Length(Lines[TMemo(Sender).CaretPos.Y]) > vVertical) then
        begin
          Key := #0;
        end;
      end;
    end;
  end;
end;

Dúvidas ou sugestões deixe nos comentários do post.

Facebook Comments Box
  • Giovani Da Cruz
  • 6.734 views
  • 0 comentários
  • 15 de setembro de 2015

Está gostando do conteúdo? Considere pagar um cafezinho para nossa equipe!

Deixe um comentário

Ir ao topo

© 2024 Infus Soluções em Tecnologia - Todos os Direitos Reservados