Delphi Validar Campo Integer

Delphi

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.
Alberto

Alberto

Curtidas 0

Respostas

Gabriel Arcasa

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.


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

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.
GOSTEI 0
Bruno

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.



Coloque no evento setText do Field vinculado a ele
GOSTEI 0
POSTAR