Tema destacado: Recuperar cuenta de Google, GMail, Youtube
Autor
|
Tema: textbox me acepte solo numeros?? (Leído 11,461 veces)
|
melielectra
Desconectado
Mensajes: 16
|
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
Mensajes: 2.169
Argentina
|
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... 
|
|
|
|
~~
|
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
Mensajes: 842
OOOOHHHHHH, TARAGÜIIII xDDDDDD
|
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
|
|
|
|
|
En línea
|
|
|
|
||MadAntrax||
Lab Member
Ex-Staff
Desconectado
Mensajes: 1.525
Mala hierba nunca muere!
|
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
|
|
|
|
|
En línea
|
|
|
|
soplo
Ex-Staff
Desconectado
Mensajes: 3.597
Debian rool'z
|
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
|
|
|
|
« Última modificación: 7 Octubre 2006, 21:16 por soplo »
|
En línea
|
Callar es asentir ¡No te dejes llevar!
|
|
|
yonky_85
Desconectado
Mensajes: 32
|
puedes hacer esto
if not isnumeric(txt1.text) then txt1.text="" else endif
|
|
|
|
|
En línea
|
|
|
|
soplo
Ex-Staff
Desconectado
Mensajes: 3.597
Debian rool'z
|
Hola 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
Mensajes: 1.748
"Estoy cansado de no hacer nada"
|
Hola 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
Mensajes: 3.597
Debian rool'z
|
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
Mensajes: 199
Ahorra Agua... Beba Cerveza
|
La que yo siempre utilizo es esta funcion 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 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
|
SetWindowLong(tutextbox.hWnd, GWL_STYLE, ES_NUMBER)
|
|
|
|
|
En línea
|
|
|
|
Karcrack
Desconectado
Mensajes: 2.192
Se siente observado ¬¬'
|
Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong: 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
Mensajes: 35
Dim Frikimaster As BPF [Battle Programmer Friki]
|
Aqui dejo un Snippet usando el Api GetWindowLong y SetWindowLong: 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
|
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
|
|
|
|
|
|