elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 21:44  


Tema destacado: Recuperar cuenta de Google, GMail, Youtube

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo, raul338)
| | |-+  textbox me acepte solo numeros??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: textbox me acepte solo numeros??  (Leído 11,461 veces)
melielectra

Desconectado Desconectado

Mensajes: 16


Ver Perfil
textbox me acepte solo numeros??
« en: 7 Octubre 2006, 06:53 »

Holas

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

chaoss


En línea
Zinc


Desconectado Desconectado

Mensajes: 2.169


Argentina


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #1 en: 7 Octubre 2006, 08:03 »

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!


En línea

Tiempo al tiempo, es tiempo de regresar al foro.elhacker.net...


~~
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.983


Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #2 en: 7 Octubre 2006, 12:38 »

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


Desconectado Desconectado

Mensajes: 842


OOOOHHHHHH, TARAGÜIIII xDDDDDD


Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #3 en: 7 Octubre 2006, 19:44 »

Eso es solo si usas base de datos. Para que solo acepte numeros tenes que poner lo siguiente en el evento Key_Press
Código:
    If KeyAscii < 48 Or KeyAscii > 57 Then
        KeyAscii = 0
    End If
En línea

||MadAntrax||
Lab Member
Ex-Staff
*
Desconectado Desconectado

Mensajes: 1.525


Mala hierba nunca muere!


Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #4 en: 7 Octubre 2006, 20:28 »

Otra forma podría ser esta:

Código:
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
En línea

soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.597

Debian rool'z


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #5 en: 7 Octubre 2006, 21:07 »

hola
Aceptar números
Código:
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
Código:
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
Código:
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
« Última modificación: 7 Octubre 2006, 21:16 por soplo » En línea

Callar es asentir ¡No te dejes llevar!
yonky_85

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #6 en: 7 Octubre 2006, 23:09 »

puedes hacer esto

if not isnumeric(txt1.text) then
   txt1.text=""
else
endif
En línea
soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.597

Debian rool'z


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #7 en: 8 Octubre 2006, 10:05 »

Hola


Citar
if 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
En línea

Callar es asentir ¡No te dejes llevar!
Hans el Topo


Desconectado Desconectado

Mensajes: 1.748


"Estoy cansado de no hacer nada"


Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #8 en: 8 Octubre 2006, 12:20 »

Hola


Citar
if 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...
En línea

 
soplo
Ex-Staff
*
Desconectado Desconectado

Mensajes: 3.597

Debian rool'z


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #9 en: 8 Octubre 2006, 20:00 »

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
En línea

Callar es asentir ¡No te dejes llevar!
Angeldj27

Desconectado Desconectado

Mensajes: 199


Ahorra Agua... Beba Cerveza


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #10 en: 28 Noviembre 2008, 21:17 »

La que yo siempre utilizo es esta funcion

Código:
Private Function Valor10(Tecla As Integer) As Integer
Dim StrValido As String
StrValido = "1234567890."
    If Tecla > 26 Then
        If InStr(StrValido, Chr(Tecla)) = 0 Then
            Tecla = 0
        End If
    End If
    Valor10 = Tecla
End Function


Y en el evento keypress del text la llamo

Código:
Private Sub txtCantidad_KeyPress(KeyAscii As Integer)
    Call Valor10(KeyAscii)
End Sub


siempre me ha funcionado bien

Saludos...
En línea



"Que vamos a hacer Mañana?..... Lo mismo que hacemos todos los dias Pinky tratar de Conquistar el Mundoooo!!!!!
cobein


Desconectado Desconectado

Mensajes: 753



Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #11 en: 29 Noviembre 2008, 07:23 »

SetWindowLong(tutextbox.hWnd, GWL_STYLE, ES_NUMBER)
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Karcrack


Desconectado Desconectado

Mensajes: 2.192


Se siente observado ¬¬'


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #12 en: 29 Noviembre 2008, 13:30 »

Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong:

Código
Option Explicit
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 
Private Sub Form_Load()
   Call OnlyNumbers(Text1.hwnd)
End Sub
 
Public Function OnlyNumbers(ByVal lHwnd As Long) As Boolean
   Dim New_Style           As Long
   Dim Act_Style           As Long
 
   Act_Style = GetWindowLong(lHwnd, (-16)) 'Const GWL_STYLE As Long = -16
   
   If Not (Act_Style And &H2000&) Then 'Const ES_NUMBER As Long = &H2000&
       New_Style = (Act_Style Or &H2000&) 'Const ES_NUMBER As Long = &H2000&
       OnlyNumbers = SetWindowLong(lHwnd, (-16), New_Style) 'Const GWL_STYLE As Long = -16
   End If
End Function

Saludos ;)
En línea

Frikimaster

Desconectado Desconectado

Mensajes: 35


Dim Frikimaster As BPF [Battle Programmer Friki]


Ver Perfil
Re: textbox me acepte solo numeros??
« Respuesta #13 en: 2 Diciembre 2008, 00:04 »

Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong:

Código
Option Explicit
Private Declare Function SetWindowLong Lib "user32.dll" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function GetWindowLong Lib "user32.dll" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
 
Private Sub Form_Load()
   Call OnlyNumbers(Text1.hwnd)
End Sub
 
Public Function OnlyNumbers(ByVal lHwnd As Long) As Boolean
   Dim New_Style           As Long
   Dim Act_Style           As Long
 
   Act_Style = GetWindowLong(lHwnd, (-16)) 'Const GWL_STYLE As Long = -16
   
   If Not (Act_Style And &H2000&) Then 'Const ES_NUMBER As Long = &H2000&
       New_Style = (Act_Style Or &H2000&) 'Const ES_NUMBER As Long = &H2000&
       OnlyNumbers = SetWindowLong(lHwnd, (-16), New_Style) 'Const GWL_STYLE As Long = -16
   End If
End Function

Saludos ;)

Disculpa, yo que soy nuevecito en esto...que es un snippet? :-[ :-[ , aunque entiendo que el codigo es para que acepte solo numeros...supongo que sera algun tipo de programa, pero podrias decirme que significa? Simple curiosidad de novato XD

Frikimaster
En línea

La musica de la logica nunca fallara al sonar la melodia de la verdad.
cobein


Desconectado Desconectado

Mensajes: 753



Ver Perfil WWW
Re: textbox me acepte solo numeros??
« Respuesta #14 en: 2 Diciembre 2008, 00:29 »

Snippet (programming)
From Wikipedia, the free encyclopedia
Snippet is a programming term for a small region of re-usable source code or text
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
TextBox que solo acepta números enteros o de punto flotante [¿Aporte?]
.NET
Xavelets 3 1,307 Último mensaje 21 Septiembre 2011, 23:38
por Xavelets
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines