Como evitar que o usuário insirá um caracter
Como evitar que o usuário insirá um caracter não númerico em um edit, tipo -5 o usuário não poderá utilizar -5 ou +5 pq apenas o 5.
Chip_set
Curtidas 0
Respostas
Edilcimar
24/12/2005
no onkeydown coloque
if not key in[0..9] then
key := #0
if not key in[0..9] then
key := #0
GOSTEI 0
Leandroaoa
24/12/2005
ops obs. no post do Edilcimar
o evento e o onkeypress
If NOT (Key in[´0´..´9´,#8,13]) Then
Key:=0;
isso quer dizer que so vai aceitar o pressionamento das teclas numericas o ENTER e o TAB
o evento e o onkeypress
If NOT (Key in[´0´..´9´,#8,13]) Then
Key:=0;
isso quer dizer que so vai aceitar o pressionamento das teclas numericas o ENTER e o TAB
GOSTEI 0
Martins
24/12/2005
ops obs. no post do Edilcimar
o evento e o onkeypress
If NOT (Key in[´0´..´9´,#8,13]) Then
Key:=0;
isso quer dizer que so vai aceitar o pressionamento das teclas numericas o ENTER e o TAB
Somente uma pequena correção tá.
If NOT (Key in[´0´..´9´,8,13]) Then Key:=0;
Somente teclas númericas, ENTER e BackSpace e não TAB, pois o código Ascii do TAB é 9.
Boas Festas!!!
GOSTEI 0
Chip_set
24/12/2005
[quote:aae8e2cd9a=´LeandroAoa´]ops obs. no post do Edilcimar
o evento e o onkeypress
If NOT (Key in[´0´..´9´,#8,13]) Then
Key:=0;
isso quer dizer que so vai aceitar o pressionamento das teclas numericas o ENTER e o TAB
Somente uma pequena correção tá.
If NOT (Key in[´0´..´9´,8,13]) Then Key:=0;
Somente teclas númericas, ENTER e BackSpace e não TAB, pois o código Ascii do TAB é 9.
Boas Festas!!![/quote:aae8e2cd9a]
Faltou algo, tipo o compo é de quantidade e se eu tiver casas decimais? tipo 10,230 (metros pro exemplo).
GOSTEI 0
Edilcimar
24/12/2005
a pergunta foi sobre numérico e ninguém atinou sobre flutuante, então basta acrescentar a vírgula ou o ponto, dependendo da configuração do sistema, mas isto é tão óbvio que ninguém colocou, e como a idéia é ensinar a pescar e não a entregar o peixe, o princípio básico vc aprendeu, portanto basta acrescentar o código desejado!
GOSTEI 0
Chip_set
24/12/2005
a pergunta foi sobre numérico e ninguém atinou sobre flutuante, então basta acrescentar a vírgula ou o ponto, dependendo da configuração do sistema, mas isto é tão óbvio que ninguém colocou, e como a idéia é ensinar a pescar e não a entregar o peixe, o princípio básico vc aprendeu, portanto basta acrescentar o código desejado!
Concordo com você no quisito, ensinar a pescar, agora, eu não conheço os códigos, estou tentando aprender por isso a solicitação. e muito obrigado.
Tenho a certeza que um dia estarei aqui ajudando a outros.
GOSTEI 0
Edilcimar
24/12/2005
ótimo, então se entendeu basta acrescentar um ponto ou uma vírgula ou código
GOSTEI 0
Paulo
24/12/2005
para colocar a vírgula e o ponto, faça:
if not(key in[´0´..´9´, ´,´, ´.´,#8,13]) then key := 0;
GOSTEI 0
Martins
24/12/2005
para colocar a vírgula e o ponto, faça:
[quote:c80919aaac]if not(key in[´0´..´9´, ´,´, ´.´,#8,13]) then key := 0;
[/quote:c80919aaac]Chip_Set, o Colega [b:c80919aaac]Paulo[/b:c80919aaac] postou a resposta, e quanto ao comentário do [b:c80919aaac]Edilcimar[/b:c80919aaac] ele tem razão, ensinamos a pescar, pegar o peixe é com vc, vc tem sempre q arriscar, tentativa erro/acerto, só q o código estava mole, pq a idéia é: o edit só aceitara os valores se a tecla digitada estiver na array.
Use mais o Help do Delphi e pesquisas no Fórum, vai te ajudar bastante, um dia eu tb perguntei bastante aqui, e o pessoal só me mostrava a direção, caminhar era comigo.
Valew!!
GOSTEI 0