Como posso restringir o numero de linhas em um memo?

24/09/2004

0

Como posso restringir o numero de linhas em um memo.

Deve ser muito simples mais não consegui.


Obrigado desde já.

[b:90aa85f517][color=red:90aa85f517]Título editado pelo Moderador (AZ) - Removido: ´Memo´[/color:90aa85f517][/b:90aa85f517]


Manjuneiro

Manjuneiro

Responder

Posts

24/09/2004

Ehvasc

Use o código abaixo que vai te ajudar


procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key = 13) and (Memo1.Lines.Count >=numMaxLinha) then
begin
Key := 0 ;
ShowMessage(´Limite Excedido´);
keybd_event(VK_BACK,VK_BACK,0,0);
end;
end;

Espero ter ajudado...


Responder

24/09/2004

Paulo_amorim

Olá

Tinha pensado nessa solução, mas vi que ela eh limitada, pois só bloqueia se ele apertar ENTER... se o usuário digitar uma palavra que faça com que o Memo quebre a linha, a rotina não vai bloquear...

Até+


Responder

02/11/2004

Zotti

Paulo_Amorim

use esse ex abaixo:
procedure TBL.FLDCONSIGNEEExit(Sender: TObject);
var
Linha : integer;
begin
With FLDCONSIGNEE do
begin
Linha:= Perform(EM_LINEFROMCHAR,SelStart, 0);
if Linha >= 5 then
begin
Aviso;
FLDCONSIGNEE.setFocus;
end;
end;
end;

fldconsignee é o nome do meu componente DBMemo, o aviso é uma chamada a uma procedure, com uma mensagem, poderia ser ShowMessage(´Numero de linhas excede o permitido´)

Pode usar que deu certo no meu, o usuario não consegue sair do campo enquanto nào digitar o numero certo de linhas...
Até Mais...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar