Delphi Validar Campo Integer
Olá.
Tenho o seguinte problema:
Tenho um campo numérico cujo usuário digita através de um DBEDIT
quando o usuário digita um numero maior que 2,147,483,647
que é o limite do "data type integer" da um erro:
valor tal "is not a valid integer value for field" tal
.
Acontece que essa exceção ocorre antes do DBEDIT.OnExit
e não to conseguindo tratar a exceção antes de acontecer.
Não quero que aconteça esse erro, quero avisar o usuário,
para corrigir o numero e continuar a aplicação normalmente.
Tenho o seguinte problema:
Tenho um campo numérico cujo usuário digita através de um DBEDIT
quando o usuário digita um numero maior que 2,147,483,647
que é o limite do "data type integer" da um erro:
valor tal "is not a valid integer value for field" tal
.
Acontece que essa exceção ocorre antes do DBEDIT.OnExit
e não to conseguindo tratar a exceção antes de acontecer.
Não quero que aconteça esse erro, quero avisar o usuário,
para corrigir o numero e continuar a aplicação normalmente.
Alberto
Curtidas 0
Respostas
Gabriel Arcasa
14/06/2019
Olá.
Tenho o seguinte problema:
Tenho um campo numérico cujo usuário digita através de um DBEDIT
quando o usuário digita um numero maior que 2,147,483,647
que é o limite do "data type integer" da um erro:
valor tal "is not a valid integer value for field" tal
.
Acontece que essa exceção ocorre antes do DBEDIT.OnExit
e não to conseguindo tratar a exceção antes de acontecer.
Não quero que aconteça esse erro, quero avisar o usuário,
para corrigir o numero e continuar a aplicação normalmente.
Tenho o seguinte problema:
Tenho um campo numérico cujo usuário digita através de um DBEDIT
quando o usuário digita um numero maior que 2,147,483,647
que é o limite do "data type integer" da um erro:
valor tal "is not a valid integer value for field" tal
.
Acontece que essa exceção ocorre antes do DBEDIT.OnExit
e não to conseguindo tratar a exceção antes de acontecer.
Não quero que aconteça esse erro, quero avisar o usuário,
para corrigir o numero e continuar a aplicação normalmente.
Não seria no evento OnChange ? apenas verifique se oque está sendo digitado é maior que o valor que maximo
const MAX_VALUE = 2.147.483.647 If Value > MAX_VALUE then Value := 0;
GOSTEI 0
Alberto
14/06/2019
No onChange não dá certo,
Pois ao entrar no form o dbEdit é preenchido com o valor do campo
e dispara o evento em momento inoportuno, bem como no
scroll do dbgrid.
Pois ao entrar no form o dbEdit é preenchido com o valor do campo
e dispara o evento em momento inoportuno, bem como no
scroll do dbgrid.
GOSTEI 0
Bruno
14/06/2019
No onChange não dá certo,
Pois ao entrar no form o dbEdit é preenchido com o valor do campo
e dispara o evento em momento inoportuno, bem como no
scroll do dbgrid.
Pois ao entrar no form o dbEdit é preenchido com o valor do campo
e dispara o evento em momento inoportuno, bem como no
scroll do dbgrid.
Coloque no evento setText do Field vinculado a ele
GOSTEI 0