Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: supra en Jueves 30 de Septiembre de 2004, 22:36
Título: Sobre Restringir Entradas En Los Textbox
Publicado por: supra en Jueves 30 de Septiembre de 2004, 22:36
Hola alguien sabe como puedo restringir la entrada de los textbox para datos numericos, es decir que solo me accepte x cantidad de digitos y dos decimales. Tambien el formato fecha a dd/mm/aaaa.
He probado una demo de input de ComponentOne, pero extrañamente se me desactiva mi teclado al utilizar el enter muchas veces queriendo trasladarme de un control a otro.
Es por eso que quiero hacerlo con los tradicionales textbox, no importa lo que cueste.
Saludos y gracias
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: Kev en Viernes 1 de Octubre de 2004, 00:16
Para la cantidad de caracteres que reciva el textbox debes especificarlo en su propiedad MaxLength, ahora para que solo te acepte algunos caracteres(en tu caso numeros, punto, coma y barra para las fechas) tienes que utilizar el evento KeyPress donde te valuda cada tecla que presionas, en este evento utilizas KeyAscii para saber que tecla se presiono, validad un rango las excepciones que va a aceptar el TextBox.
Ejemplo, aca por ejemplo la tecla ENTER vale 13 segun codigo ASCII, si presiona enter muestra un mensaje caso contrario no muestra nada, ni el texbox escribe nada
Código: Text
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
MsgBox ("Presiono Enter")
Else
KeyAscii = 0
End If
End Sub
Salu2 :comp:
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: Cyclop en Viernes 1 de Octubre de 2004, 02:33
Otra opcion seria que uses el Control ActiveX Mask Edit
Salu2
Cyclop
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: supra en Viernes 1 de Octubre de 2004, 18:19
Hola Cyclop, ya he probado el maskedit, pero este me formatea la entrada una vez insertado el dato, aparte de eso quiero formatearlo al ingresar el dato.
Saludos.
y sigo intentandolo
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: Brroz en Viernes 1 de Octubre de 2004, 18:28
Hola supra.
Creo que lo más simple es controlar el evento KeyPress del control. Fíjate en el ejemplo para controlar la entrada de números en un TextBox:
Código: Text
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 _
and (KeyAscii < 48 Or KeyAscii > 57) _
And KeyAscii <> 44 Then KeyAscii = 0
End Sub
Abur
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: Kev en Viernes 1 de Octubre de 2004, 20:09
Viste, Brroz ya te lo entrego en bandeja de plata (todo ya esta hecho ;) ) el codigo que necesitabas
y si quieres que tambien te acepte el punto(.) el codigo seria asi
Código: Text
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii <> 8 _
and (KeyAscii < 48 Or KeyAscii > 57) _
And KeyAscii <> 44 And KeyAscii <> 46 Then KeyAscii = 0
End Sub
:comp:
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: seek20 en Lunes 4 de Octubre de 2004, 15:34
Hola a todos!!!
A ver qué les parece este código, a mi me ha dado excelentes resultados y lo diseñé para evitar que sean introducidos valores alfanuméricos en campos en los que solo requiero números.
Private Sub txtTexto_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case Asc("0") To Asc("9"), vbKeyBack KeyAscii = KeyAscii Case Asc(".") If InStr(1, txtCostoMO.Text, ".") > 0 Then KeyAscii = 0 Else KeyAscii = KeyAscii End If Case Else KeyAscii = 0 End Select End Sub
El código anterior es usado para permitir capturar números decimales, en mi caso como yo soy de México los decimales son introducidos después de un punto, pero si ustedes usan la coma como separador de decimales solo deben cambiar el punto por la coma en el case correspondiente, si se dan cuenta el código incluye la tecla de regreso o borrado, esto es por si llegaran a equivocarse puedan eliminar el o los números mal ingresados.
Saludos a todos y espero que les sea de utilidad, ah y por favor no dejen de informarme como les fue!!!
:devil:
Suerte!!!!!!
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: The Black Boy en Lunes 4 de Octubre de 2004, 22:08
excelentes los aportes de todos... tambien estaba necesitando algo parecido a esto..
Gracias y Saludos :good:
Título: Re: Sobre Restringir Entradas En Los Textbox
Publicado por: supra en Miércoles 6 de Octubre de 2004, 01:57
Gracias chicos, con todas sus ayudas ya resolvi el problema. :D :D :D :D