Como evitar que o usuário insirá um caracter

24/12/2005

0

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

Chip_set

Responder

Posts

24/12/2005

Edilcimar

no onkeydown coloque
if not key in[0..9] then
key := #0


Responder

24/12/2005

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


Responder

24/12/2005

Martins

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!!!


Responder

24/12/2005

Chip_set

[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).


Responder

24/12/2005

Edilcimar

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!


Responder

24/12/2005

Chip_set

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.


Responder

25/12/2005

Edilcimar

ótimo, então se entendeu basta acrescentar um ponto ou uma vírgula ou código


Responder

25/12/2005

Paulo

para colocar a vírgula e o ponto, faça:

if not(key in[´0´..´9´, ´,´, ´.´,#8,13]) then key := 0;



Responder

25/12/2005

Martins

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!!


Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

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

Aceitar