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??
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
Curtir tópico
+ 0
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:
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).
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
Clique aqui para fazer login e interagir na Comunidade :)