Los recursos de Internet en el poder de tus manos
Hola a todos.
Pues continuando con la sección de Visual Basic .Net...
¿Quién no se ha metido con el problema de que ya tienes terminado algun programa con introducción de datos pero solo falta validar la introducción de datos mediante cuadros de texto? y muchas veces te gustaría que existiera algo fácil y rapido que valide lo que tu quieres...
Pues como ya es común, Visual Basic cuenta obviamente con un sistema de cachado de cada caracter tecleado en un cuadro de texto, el cual es obtenido antes de que el caracter sea pintado en pantalla; de esta manera tu puedes cachar el caracter cuando es presionado, verificar si ese caracter que se esta intentando introducir es valido para tus propósitos (por ejemplo si deseas que solo se introduzcan números, o tal vez solo vocales) y si cumple con tus expectativas, entonces lo dejas pasar; sino entonces "bloqueas" la impresión del caracter provocando la validación correcta de un campo de texto
Aquí te dejo un ejemplo muy sencillo pero fácilmente comprenderás como funciona...
El programa se ve así:
y el código es este:
Explicación
Lo que tenemos aquí son dos funciones: 1 llamada buscar() que lo único que hace es recorrer una cadena string en busca de un caracter en especifico el cual es pasado como parámetro junto con la cadena.
La segunda función se ejecuta en el evento KeyPress del cuadro de texto, y lo que hace es cachar el caracter precionado; aquí vemos como se cacha el caracter:
y después validamos a nuestro gusto... Yo en este caso lo que quiero que se introduzca es solo numeros con signo "+" o "-" y un solo punto "."
Cualquier otro caracter introducido será omitido.
Nota: como verás tambien estoy validando que si se pueda presionar el backspace:
pero el enter no tendrá ningún efecto sobre el cuadro de texto.
y lo que mencionaba sobre bloquear la impresion en pantalla del caracter tecleado se hace igualando a false el manejador del cuadro de texto:
Obviamente, para permitir que se imprima el caracter tecleado, entonces lo igualas a true.
Fácil no??
Este blog tiene la intensión de facilitarle al lector el gran contenido existente en internet en sus amplias y variadas temáticas como el ocio, los videojuegos, peliculas, series, autos, recetas, descargas, recomendaciones, programaciones y cualquier cosa que se me valla ocurriendo con el tiempo. Tengo la intensión de estar actualizando el blog constantemente y así proporcionarle la mejor información al lector.
Cualquier duda, comentario o sugerencia por favor escríbelo aquí en los comentarios
Agustin
August 28th, 2008 at 9:20 pm
hola me puedes ayudar ne sesito una validacion donde no se puedan ingresar caracteres especiales en el textbox como :;@”"!·$%&/( nesecito que solo se puedan escribir texto normal sin numeros
Alex Wong
January 22nd, 2010 at 2:48 pm
Jeje buen aporte brother me ahorraste la pensada (y)..