UNIVERSIDAD COOPERATIVA DE COLOMBIA

Anuncio
GUÍA DE TRABAJO – GRADO 11
Programación de
Software
Ing. Néstor Raúl Suarez Perpiñan
Página 1 de 5
Articulación SENA
Tema: VALIDACIONES DE CAMPOS CON VISUAL BASIC .NET
Objetivo:

Realizar validaciones de campos vacios y de tipos de datos en una I.G.U utilizando el lenguaje
de Programación “Visual Basic .Net”
I.
VALIDACIÓN DE CAMPOS VACIOS
La validación de campos vacios es necesaria cuando se tiene campos obligatorios en la base de
datos y/o cuando se quiere garantizar que los campos no se almacenen en blanco, por ejemplo
una llave primaria que no es autonumerica.
La validacion de campos vacios se realiza tomado una decision sobre el contenido del textbox a
validar verificando si este se encuentra vacio o no. Una funcion en visual basic que efectuaria esta
tarea seria por ejemplo:
Public Function ValidarCampoVacio(ByRef CuadroTexto As TextBox, ByVal
nombrecampo As String) As Boolean
If CuadroTexto.Text.Trim = "" Then
MsgBox("El Campo " & nombrecampo & " No puede estar vacio",
MsgBoxStyle.Information, "Cuidado")
CuadroTexto.BackColor = Color.Tomato
Return False
Else
CuadroTexto.BackColor = Color.White
Return True
End If
End Function
Esta funcion recibe como parametros de entrada el textbox a validar y el nombre del campo que
representa, y retorna una true o false dependiende si el campo esta vacio o no. Adicionalmente
cambia el color del textbox cuando este efectivamente se detecta como vacio. Para utilizarla se
hace su llamado en el boton correspondiente por cada campo a validar asi:
If ValidarCampoVacio(TextBox1, "Identificación") And _
ValidarCampoVacio(TextBox2, "Nombres") And _
ValidarCampoVacio(TextBox3, "Apellidos") Then
MsgBox("Muy Bien, Todos los datos ingresados son validos!!!",
MsgBoxStyle.Information, "Felicitaciones")
End If
GUÍA DE TRABAJO – GRADO 11
Programación de
Software
Ing. Néstor Raúl Suarez Perpiñan
Página 2 de 5
Articulación SENA
II. VALIDACION DE TIPOS DE DATOS
Este tipo de validacion es importante para garantizar que la informacion que se envia hacia la
base de datos corresponda con la el tipo de dato definido para cada campo. Para lograr este
objetivo se hace uso de la denominada Tabla ASCII, la cual le da un representacion numerica
a cada carácter del teclado. La Tabla ASCII se distribuye asi :
GUÍA DE TRABAJO – GRADO 11
Programación de
Software
Ing. Néstor Raúl Suarez Perpiñan
Página 3 de 5
Articulación SENA
Teniendo en cuenta los codigos Ascii asignados, los caracteres a tener en cuenta para realizar
validaciones de tipos de datos con:
a.) Solo Numeros: Codigos ASCII del 48 al 57.
b.) Solo Letras: Codigos ASCII del 65 al 90 para mayusculas
Codigos ASCII del 97 al 122 para minusculas
c.) Enter: Codigo ASCII 13
d.) Retroceso: Codigo ASCII 8
e.) Espacio: Codigo ASCII 32
La validación de tipos de datos se realiza usando el evento KeyPress de cualquier TextBox, el cual
se ejecuta inmediatamente el usuario ingresa un caracter en el. Dentro de este evento se debe
programar la toma de decisiones con los codigos Ascii que se requieren validar. El codigo Ascii de
un carácter se obtiene llamando la función Asc(e.KeyChar)
III. VALIDACIÓN DE FECHAS
Para validar fechas se puede hacer uso del control llamado DateTimePicker1, el cual desplega un
calendario para que el usuario escoja una fecha. Para leer el valor de fecha seleccionado se usa la
instrucción: “DateTimePicker1.Value.Date”
EJERCICIO
Diseñar en Tiempo de diseño el siguiente formulario:
GUÍA DE TRABAJO – GRADO 11
Programación de
Software
Ing. Néstor Raúl Suarez Perpiñan
Página 4 de 5
Articulación SENA
Luego digite el siguente codigo y verifique su funcionamiento:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
If ValidarCampoVacio(TextBox1, "Identificación") And _
ValidarCampoVacio(TextBox2, "Nombres") And _
ValidarCampoVacio(TextBox3, "Apellidos") Then
MsgBox("Muy Bien, Todos los datos ingresados son validos!!!",
MsgBoxStyle.Information, "Felicitaciones")
Label5.Text = "Los datos Ingresaron fueron " & TextBox1.Text
& " " & TextBox2.Text & " " & TextBox3.Text
Label6.Text = "La Fecha Seleccionada Fue " &
DateTimePicker1.Value.Date
End If
End Sub
Public Function ValidarCampoVacio(ByRef CuadroTexto As TextBox, ByVal
nombrecampo As String) As Boolean
If CuadroTexto.Text.Trim = "" Then
MsgBox("El Campo " & nombrecampo & " No puede estar vacio",
MsgBoxStyle.Information, "Cuidado")
CuadroTexto.BackColor = Color.Tomato
Return False
Else
CuadroTexto.BackColor = Color.White
Return True
End If
End Function
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not (Asc(e.KeyChar) >= 48 And Asc(e.KeyChar) <= 57) And
Asc(e.KeyChar) <> 8 And Asc(e.KeyChar) <> 13 Then
MsgBox("Debe Ingresar sólo Numeros", MsgBoxStyle.Information,
"Cuidado")
e.KeyChar = ChrW(0)
End If
If Asc(e.KeyChar) = 13 Then
TextBox2.Focus()
End If
GUÍA DE TRABAJO – GRADO 11
Programación de
Software
Ing. Néstor Raúl Suarez Perpiñan
Página 5 de 5
Articulación SENA
End Sub
Private Sub TextBox2_KeyPress(ByVal sender As Object, ByVal e As
System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
If Not (Asc(e.KeyChar) >= 65 And Asc(e.KeyChar) <= 90) And Not
(Asc(e.KeyChar) >= 97 And Asc(e.KeyChar) <= 122) And Asc(e.KeyChar)
<> 8 And Asc(e.KeyChar) <> 13 And Asc(e.KeyChar) <> 32 Then
MsgBox("Debe Ingresar sólo Letras", MsgBoxStyle.Information,
"Cuidado")
e.KeyChar = ChrW(0)
End If
If Asc(e.KeyChar) = 13 Then
TextBox3.Focus()
End If
End Sub
Private Sub TextBox3_KeyPress(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
If Not (Asc(e.KeyChar) >= 65 And Asc(e.KeyChar) <= 90) And Not
(Asc(e.KeyChar) >= 97 And Asc(e.KeyChar) <= 122) And Asc(e.KeyChar)
<> 8 And Asc(e.KeyChar) <> 13 And Asc(e.KeyChar) <> 32 Then
MsgBox("Debe Ingresar sólo Letras", MsgBoxStyle.Information,
"Cuidado")
e.KeyChar = ChrW(0)
End If
If Asc(e.KeyChar) = 13 Then
Button1.Focus()
End If
End Sub
End Class
Descargar