Está en la página 1de 4

Ejercicio No.5 Quinto Proyecto, denominado Validacin de Datos.

Objetivo: El alumno aprender a validar los campos de un formulario con caracteres permitidos. Controles para la Interface: Vamos a utilizar 1 control LABEL, 1 control TEXTBOX y 1 control BUTTON, los vamos a colocar de la siguiente manera: Vamos a modificar las propiedades de los controles.

Label1:
Propiedad Text Nombre Valor

Label2:
Propiedad Text Edad Valor

Label3:
Propiedad Text Valor Fecha De NAcimiento

Label4:
Propiedad Text dd/mm/aaaa Valor

Label5:
Propiedad Text Valor Correo Electrnico

Label6:
Propiedad Text Sexo Valor

TextBox1:
Propiedad Text TabIndex Name 1 TxtNombre Valor

TextBox2:
Propiedad Text Valor

TabIndex Name

2 TxtEdad

TextBox3:
Propiedad Text TabIndex Name 3 TxtFechaNac Valor

TextBox4:
Propiedad Text TabIndex Name 4 TxtCE Valor

TextBox5:
Propiedad Text TabIndex Name 1 TxtSexo Valor

Button1:
Propiedad Text Name &Cerrar BtnCerrar Valor

Programacin: Vamos a explicar algunas situaciones:


'En el evento CLICK del BtnCerrar Private Sub BtnCerrar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCerrar.Click End 'Cerramos la aplicacin End Sub 'En el Evento KeyPress del TxtNombre Private Sub TxtNombre_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtNombre.KeyPress Dim asqui As Integer 'Declaramos una variable local llamada asqui de tipo entera asqui = Asc(e.KeyChar) 'Capturamos en la variable asqui los caracteres que se ingresan en el control TxtNombre 'Vamos a poner una condicionante para que solo acepte letras en minusculas y mayusculas, el enter, el espacio y el basckspace If (((asqui >= 65) And (asqui <= 90)) Or ((asqui >= 96) And (asqui <= 122)) Or (asqui = 8) Or (asqui = 32) Or (asqui = 13)) Then 'Ingresamos una condicionante anidada, si presiona enter If (asqui = 13) Then Me.TxtEdad.Focus() 'Mandamos el cursor o el Foco al control TxtEdad para seguir la captura End If 'Terminamos la condicionante anidada Else 'En caso contrario e.KeyChar = "" 'Limpiamos o ponemos en blanco para que no aparezcan los caracteres no permitidos End If 'Termiando la condicional principal End Sub

'En el Evento KeyPress del TxtEdad Private Sub TxtEdad_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtEdad.KeyPress Dim asqui, edad As Integer 'Declaramos una variable local llamada ASq de tipo entera asqui = Asc(e.KeyChar) 'Capturamos en la variable Asq los caracteres que se ingresan en el control TxtEdad 'Vamos a poner una condicionante para que solo numeros enteros, el enter, y el basckspace If (((asqui >= 48) And (asqui <= 57)) Or (asqui = 8) Or (asqui = 13)) Then If (asqui = 13) Then 'Condicionante si es enter edad = Val(TxtEdad.Text) 'Asignamos el valor ingresado en el control TxtEdad If ((edad = 0) Or (edad > 115)) Then 'Condicionante si edad es 0 o edad es mayor a 115 Me.TxtEdad.Text = "" 'Limpiamos el control TxtEdad Me.TxtEdad.Focus() 'Mandamos el cursor o el foco al control TxtEdad MsgBox("Solamente se aceptan Valores de 1 a 115 Aos") ' Mandamos mensaje Else 'En caso contrario Me.TxtFechaNac.Focus() 'Mandamos el cursor o el Foco al control TxtFechaNac End If 'Finalizamos la condicionante de la edad End If 'Finalizamos la condicionante del enter Else 'En caso contrario e.KeyChar = "" 'Limpiamos o ponemos en blanco para que no aparezcan los caracteres no permitidos End If 'Finalizamos la condicionanate de los caracteres permitidos End Sub 'En el Evento KeyPress del TxtFechaNac Private Sub TxtFechaNac_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtFechaNac.KeyPress Dim asqui, dia, mes, agno, longitud As Integer 'Declaramos 4 variables de tipo entero Dim diaS, mesS, agnoS, caracter As String 'Declaramos 3 variables de tipo texto asqui = Asc(e.KeyChar) 'Capturamos en la variable Asq los caracteres que se ingresan en el control TxtFechaNac 'Vamos a poner una condicionante para que solo acepte numeros el enter, la diagonal / y el basckspace If (asqui = 8) Or (asqui = 13) Or ((asqui >= 47) And (asqui <= 57)) Then 'Condicionante anidada si la variable es diferente del enter If (asqui <> 13) Then longitud = Len(Me.TxtFechaNac.Text) 'Sacamos la longitud de lo que hemos ingresado y lo asignamos a la variable ongitud Select Case (longitud) 'Seleccionamos en elcaso que longitud Case 3, 6 'En la posicin 3 y 6 caracter = Microsoft.VisualBasic.Left(Me.TxtFechaNac.Text, 3) 'Tomamos de una cadena el caracter en la posicin 3 iniciando por la izquierda If (caracter <> "/") Then 'Si el caracter en la posicin 3 es diferente de la diagonal / MsgBox("Error debe insertar el caracter /") 'Mandamos un mensaje de Error End If 'Cerramos la condicin anidada End Select 'Cerramos el Case Else 'En caso contrario diaS = Microsoft.VisualBasic.Left(Me.TxtFechaNac.Text, 2) 'Tomamos los 2 primeros caracteres de las posiciones del lado izquierdo mesS = Microsoft.VisualBasic.Mid(Me.TxtFechaNac.Text, 4, 2) 'Tomamos los 2 primeros caracteres de las posiciones de en medio apartir de la posicion 4 agnoS = Microsoft.VisualBasic.Right(Me.TxtFechaNac.Text, 4) 'Tomamos los 4 primeros caracteres de las posiciones del lado derecho dia = Val(diaS) 'Asignamos a la variable dia el valor de la variable diaS mes = Val(mesS) 'Asignamos a la variable mes el valor de la variable mesS agno = Val(agnoS) 'Asignamos a la variable agno el valor de la variable agnoS If (dia < 32) Then 'Condicionamos si da es menor que 32 If (mes < 13) Then 'Condicionamos ahora mes si es menor de 13 If (agno > 1892) And (agno < 2011) Then 'Condicionamos si agno esta entre los rangos 1892 y 2011 Me.TxtCE.Focus() 'Si cumple las condiciones anteriores mandamos el cursor o el Foco al TxtCE Else 'En caso contrario MsgBox("Ao no valido Solamente acpta aos entre 1892 y 2011") 'Mensaje Me.TxtFechaNac.Text = "" 'Limpiamos el control TxtFechaNac Me.TxtFechaNac.Focus() 'Mandamos el cursor o el Foco al control TxtFechaNac End If 'Cerramos la condicion del ao Else 'En caso contrario MsgBox("Mes Incorrecto") 'Mensaje Me.TxtFechaNac.Text = "" 'Limpiamos el control TxtFechaNac Me.TxtFechaNac.Focus() 'Mandamos el cursor o el Foco al control TxtFechaNac End If 'Cerramos la condionante del 1er caso contrario Else 'En caso contrario

MsgBox("Dia Incorrecto") 'Mensaje Me.TxtFechaNac.Text = "" 'Limpiamos el control TxtFechaNac Me.TxtFechaNac.Focus() 'Mandamos el cursor o el Foco al control TxtFechaNac End If 'Cerramos la condicionante del 2do caso contrario End If 'Cerramos la condicionante del enter Else 'En caso contrario e.KeyChar = "" 'Limpiamos o ponemos en blanco para que no aparezcan los caracteres no permitidos End If 'Cerramos la 1ra condicionante de los caracteres aceptados End Sub 'En el Evento KeyPress del TxtSexo Private Sub TxtSexo_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtSexo.KeyPress Dim asqui As Integer 'Declaramos una variable asqui de tipo entero asqui = Asc(e.KeyChar) 'Capturamos en la variable Asq los caracteres que se ingresan en el control TxtSexo 'Vamos a poner una condicionante para que solo acepte los caracteres en minuscula y mayuscula (f,F o m,M) el enter, y el basckspace If (asqui = 70) Or (asqui = 102) Or (asqui = 109) Or (asqui = 77) Or (asqui = 13) Or (asqui = 8) Then 'Ingresamos una condicionante anidada, si presiona enter If (asqui = 13) Then Me.BtnCerrar.Focus() 'Mandamos el cursor o el Foco al control BtnCerrar End If 'Cerramos la condicionante anidada Else 'En caso contrario e.KeyChar = "" 'Limpiamos o ponemos en blanco para que no aparezcan los caracteres no permitidos End If 'Cerramos la condicional principal End Sub 'En el Evento KeyPress del TxtCE Private Sub TxtCE_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TxtCE.KeyPress Dim asqui As Integer 'Declaramos una variable asqui de tipo entero asqui = Asc(e.KeyChar) 'Capturamos en la variable Asq los caracteres que se ingresan en el control TxtCE 'Vamos a poner una condicionante para que solo acepte numeros enteros, el enter, y el basckspace, la arroba, letras en minuscula, guin bajo, If (((asqui = 95) Or (asqui = 64) Or (asqui = 46)) Or ((asqui >= 97) And (asqui <= 122)) Or (asqui = 8) Or (asqui = 13) Or (asqui >= 48) And (asqui <= 57)) Then 'Ingresamos una condicionante anidada, si presiona enter If (asqui = 13) Then Me.TxtSexo.Focus() 'Mandamos el cursor o el Foco al control TXTSexo End If 'Cerramos la condicionante anidada Else 'En caso contrario e.KeyChar = "" 'Limpiamos o ponemos en blanco para que no aparezcan los caracteres no permitidos End If 'Cerramos la condicional principal End Sub

Cada vez que ingresamos algun carcter en los controles TXTBOX, que no sean permitidos mandara mensajes o simplemente no dejar capturar nada.

También podría gustarte