• Lunes 23 de Diciembre de 2024, 06:00

Autor Tema:  Sobre Restringir Entradas En Los Textbox  (Leído 4500 veces)

supra

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Sobre Restringir Entradas En Los Textbox
« en: Jueves 30 de Septiembre de 2004, 22:36 »
0
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

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #1 en: Viernes 1 de Octubre de 2004, 00:16 »
0
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
  1.  
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
  3. If KeyAscii = 13 Then
  4.     MsgBox ("Presiono Enter")
  5. Else
  6. KeyAscii = 0
  7. End If
  8. End Sub
  9.  
  10.  


Salu2
 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

Cyclop

  • Miembro MUY activo
  • ***
  • Mensajes: 323
    • Ver Perfil
    • http://www.geocities.com/icotext/spanish/
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #2 en: Viernes 1 de Octubre de 2004, 02:33 »
0
Otra opcion seria que uses el Control ActiveX Mask Edit


Salu2

Cyclop
Icotext Evolution v0.5 para los amantes del ASCII Art
http]

supra

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #3 en: Viernes 1 de Octubre de 2004, 18:19 »
0
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

Brroz

  • Miembro de PLATA
  • *****
  • Mensajes: 1058
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #4 en: Viernes 1 de Octubre de 2004, 18:28 »
0
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
  1.  
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
  3.  
  4.     If KeyAscii <> 8 _
  5.     and (KeyAscii < 48 Or KeyAscii > 57) _
  6.     And KeyAscii <> 44 Then KeyAscii = 0
  7.  
  8. End Sub
  9.  
  10.  

Abur

Kev

  • Miembro HIPER activo
  • ****
  • Mensajes: 654
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #5 en: Viernes 1 de Octubre de 2004, 20:09 »
0
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
  1.  
  2. Private Sub Text1_KeyPress(KeyAscii As Integer)
  3.  
  4.    If KeyAscii <> 8 _
  5.    and (KeyAscii < 48 Or KeyAscii > 57) _
  6.    And KeyAscii <> 44 And KeyAscii <> 46 Then KeyAscii = 0
  7.  
  8. End Sub
  9.  
  10.  

 :comp:
La teoria es asesinada tarde o temprano por la experiencia
Albert Einstein
Kev - 3 DCE
-----------------------------------------------------
Articulos:
Convertir texto a imagen en ASP.NET
Trabajando con el Global.asax

seek20

  • Miembro activo
  • **
  • Mensajes: 32
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #6 en: Lunes 4 de Octubre de 2004, 15:34 »
0
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!!!!!!

The Black Boy

  • Miembro de PLATA
  • *****
  • Mensajes: 1043
  • Nacionalidad: co
    • Ver Perfil
    • http://www.mslatam.com/latam/technet/mva2/Microsite.aspx?alias=JairoDiaz
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #7 en: Lunes 4 de Octubre de 2004, 22:08 »
0
excelentes los aportes de todos... tambien estaba necesitando algo parecido a esto..

Gracias y Saludos  :good:
El inteligente no es aquel que lo sabe todo
sino aquel que   sabe utilizar lo poco que sabe.


Espacio Personal

si necesitas algo de programacion click aqui, si no esta aqui no existe

Programacion]

supra

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Re: Sobre Restringir Entradas En Los Textbox
« Respuesta #8 en: Miércoles 6 de Octubre de 2004, 01:57 »
0
Gracias chicos, con todas sus ayudas ya resolvi el problema. :D  :D  :D  :D