Fórum Como pular automativamente de uma linha a outra quando...... #189784

20/10/2003

0

Pessoal, como pular automaticamente de uma linha a outra quando for preenchido a quantidade especificado para o campo exe.:

Meu banco de dados tem o seguinte

descricao1 A 50
descricao2 A 50
descricao3 A 50

no formulário eu coloquei os dbedits para cada campo da tabela e quando for preenchido os 50 caracteres eu quero que o cursor pule automaticamente à linha posterior.

Alguem me colocou isso:

no evento onkeypress coloque a linha
if Length(TEdit(Self).Text) > TEdit(Sender).MaxLength then perform(.....
ou
if Length(Edit1.Text) > Edit1.MaxLength then perform(....
e mudar a propriedade maxlength para 50.

no pontilhado eu preenchi com seguinte codigo: WM_NEXTDLGCTL,0,0);
ficando assim:
if Length(TEdit(Self).Text) > TEdit(Sender).MaxLength then perform(WM_NEXTDLGCTL,0,0);
ou
if Length(Edit1.Text) > Edit1.MaxLength then perform(WM_NEXTDLGCTL,0,0);

mas não funcionou o que está errado??


Machado

Machado

Responder

Posts

21/10/2003

Hiko Seijuro

Nesses casos eu faço assim. No evento OnChange dos bdedits (mas pode ser no keypress também, já que a mudança que vai ativar a ação só ocorre quando o usuário digita alguma coisa) coloca isto:

if Length(DBEditAtual.Text) = 50 then frmAtual.FocusControl(DbeditParaOndeOCursorVai);


Quando a quantidade de caracters for os 50 desejados o Focus passe a ser da caixa seguinte. Não esqueça de definir o MaxLenght dos Edits como 50 para evitar furos (caso o usuário use Ctr+C e Ctr+V, por exemplo, ele não vai poder mais que 50 caracteres).


Responder

Gostei + 0

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

Aceitar