textbox me acepte solo numeros??

Iniciado por melielectra, 7 Octubre 2006, 06:53 AM

0 Miembros y 1 Visitante están viendo este tema.

melielectra

Holas

Como hago que un textbox acepte solo numeros, mm que no se puedan digitar otras cosas en este, de ante mano gracias

chaoss

Zinc

Creo q en la propiedad DataFormat, o Format algo de eso ahi puedes elegir el formato q quieras q acepte el txt creo.. no quiero equivocarme..pero creo q es asi.

Saludos!

~~

Es en la propiedad dataFormat, le das a los puntos suspensivos de la derecha y eliges si kieres numeros, con decimales...

NYlOn

Eso es solo si usas base de datos. Para que solo acepte numeros tenes que poner lo siguiente en el evento Key_Press

    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If

Mad Antrax

Otra forma podría ser esta:


Private Sub Text1_Change()
    Text1.Text = Val(Text1.Text)
End Sub


La he probado yo y funciona perfectamente, pero si alguien pone 2 carcácteres no numéricos se pone el valor 0 xD
No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.

soplo

#5
hola
Aceptar números
sub text1_keypress(keyascii as integer)
if not isnumeric(chr(keyascii)) then
   if keyascii<>8 then
      keyascii=0
   endif
endif
end sub


Convertir números, y la coma
sub text1_keypress(keyascii as integer)
if not isnumeric(chr(keyascii)) then
   if keyascii=asc(".") then
       keyascii=asc(",")
   endif
   if keyascii<>asc(",") then
      if keyascii<>8 then
         exit sub
      endif
   endif
end sub


Aceptar solo letras y convertirlas a mayúsculas
sub text1_keypress(keyascii as integer)
keyascii=asc(ucase(chr(keyascii)))
if keyascii<asc("A") or keyascii>asc("Z") then
   if keyascii<>asc("Ñ") then
      if keyascii<>8 then
         keyascii=0
      endif
   endif
endif
end sub


Un saludo
Callar es asentir ¡No te dejes llevar!

yonky_85

puedes hacer esto

if not isnumeric(txt1.text) then
   txt1.text=""
else
endif

soplo

Hola


Citarif not isnumeric(txt1.text) then
   txt1.text=""
else
endif
así sabes si es numérico o no el textbox entero, mientras que de la forma que yo puse se comprueba caracter a caracter.

Ambas cosas están bien, depende de como lo quieras conseguir.

Un saludo
Callar es asentir ¡No te dejes llevar!

Hans el Topo

Cita de: soplo en  8 Octubre 2006, 10:05 AM
Hola


Citarif not isnumeric(txt1.text) then
   txt1.text=""
else
endif
así sabes si es numérico o no el textbox entero, mientras que de la forma que yo puse se comprueba caracter a caracter.

Ambas cosas están bien, depende de como lo quieras conseguir.

Un saludo

el problema que tienen tus métodos es que creo que si copipasteas cualquier dato el keypress no te envia su valor verdadero...
 

soplo

Claro, el keypress sirve para detectar pulsaciones por teclado.

Si quieres controlar el copy paste deberías controlar también las rutinas de  conversaciones DDE que permiten también manejar el portapapeles

Un saludo
Callar es asentir ¡No te dejes llevar!