Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
VALIDAR TEXTBOX
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje VALIDAR TEXTBOX 
 
Necesito validar un textbox para que en el mismo solo pueda ingresar números o letras. De antemano muchas gracias
 



 
JESUS ESCALONA - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: VALIDAR TEXTBOX 
 
Quizás este hilo te sirva de ayuda:

http://foro.gambas-es.org/viewtopic...ghlight=numeros

Saludos
 




===================
Jesús Guardón

Por favor, usemos el corrector ortográfico antes de pulsar el botón "Enviar".

"uo ǝs ʇɐu pıɟıɔıן ɐdɹǝupǝɹ ɐ dɹoƃɹɐɯɐɹ, soןo ɥɐʎ bnǝ dɹodouǝɹsǝןo"
 
jguardon - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: VALIDAR TEXTBOX 
 
Hola, para los números puedes usar un ValueBox, el cual con Enteros o Flotantes (mayor que 0) va bien, no obstante como yo trabajo con precios de productos menores que 0 y con 4 decimales, me he creado esta función que tengo en un módulo que llamo mUtils.
PUBLIC FUNCTION onlynum(OPTIONAL ndec AS Integer = 0) AS Boolean
  
  DIM respuesta AS Boolean
  DIM txt AS TextBox

  txt = Application.ActiveControl  
  respuesta = FALSE
  
  SELECT CASE Key.Code

    CASE 48 TO 57 'Codigos ASCII de los numeros
      IF ndec > 0 THEN
        IF InStr(txt.Text, ".") > 0
          IF Len(Right(txt.Text, - (InStr(txt.Text, ".")))) > ndec - 1 THEN
            respuesta = TRUE
          ENDIF
        ENDIF
      ENDIF
      IF txt.Selected THEN respuesta = FALSE
    CASE Key.BackSpace    'Retroceso
    CASE Key.Delete       'Borrado
    CASE Key.Tab          'Tabulador
    CASE Key.BackTab      'Tabulador hacia atras
    CASE Key.Return OR Key.Enter  
    CASE Key.Home
    CASE Key.End
    CASE Asc(".")
      IF ndec = 0 THEN respuesta = TRUE
      IF InStr(txt.Text, ".") > 0 THEN respuesta = TRUE
      IF respuesta = FALSE AND Len(txt.Text) = 0 THEN
        txt.Text = "0"
      ENDIF
      IF txt.selected THEN
        txt.Text = "0"
        respuesta = FALSE
      ENDIF
    CASE ELSE
      respuesta = TRUE    'Si se ha pulsado otra tecla
      
  END SELECT
  
  RETURN respuesta
  
END


De esta forma, cuando tengo un Textox que acepta numeros o flotantes, en el evento _KeyPress pongo este codigo:

PUBLIC SUB txtiva_KeyPress()

  IF mUtils.onlynum(2) THEN STOP EVENT

END

PUBLIC SUB txtcms_KeyPress()

  IF mUtils.onlynum(4) THEN STOP EVENT

END
 


Si aceptas un número sin decimales, pones 0 o nada y solo aceptara numeros. ¿De cuantos dígitos? depende de lo que pongas en la propiedad MaxLength

Para admitir solo letras, es mucho más fácil, pero teniendo la guía de solo números.... JUST DO IT!

Espero haber sido de ayuda, un saludo amigos

Antonio
 



 
ahtonio - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron