Buscar en el blog

lunes, 1 de septiembre de 2014

Continuamos con la programación de nuestra aplicación y en esta ocasión veremos el formulario de registro de nuevos usuarios:



En un módulo colocaremos el siguiente código:

Module Validaciones
    Function ValidarRegistroUsuarios(ByVal Nombre As String, ByVal Usuario As String, ByVal Clave As String) As Boolean

        If Nombre = "" Then MsgBox("Debe introducir su nombre para poder realizar el registro", vbCritical, "Campo obligatorio") : Return False : Exit Function

        If Usuario = "" Then MsgBox("Debe introducir su nombre de usuario para realizar el registro", vbCritical, "Campo obligatorio") : Return False : Exit Function

        If Clave = "" Then MsgBox("Debe introducir una clave de usuario para poder realizar el registro", vbCritical, "Campo obligatorio") : Return False : Exit Function

        Return True

    End Function
End Module

Y una vez que hemos colocado ese código en el modulo, ahora podremos programar nuestro formulario.

Dim MisDatos As New ConexBD 'Como siempre almacenamos una nueva instacia de la clase que tenemos creada
    Public Consulta As String 'Esta variable almacenara una consulta sql

    Private Sub Frm_Registro_Usuarios_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Text = "Registro de nuevos usuarios " & Now.Date
        Me.BackgroundImage = My.Resources.fondo
        Me.Icon = My.Resources.Logo
        Me.ToolTip1.SetToolTip(CmbNuevoUsuario, "Guarda los datos de un nuevo usuario")
        Me.ToolTip1.SetToolTip(CmbCerrarRegistro, "Vuelve al inicio de sesión")
        Me.ToolTip1.SetToolTip(CmbBuscarFoto, "Permite buscar una foto para el nuevo usuario")
        Me.ToolTip1.SetToolTip(ImgUsuario, "Muestra la foto del nuevo usuario")
    End Sub

    Private Sub CmbNuevoUsuario_Click(sender As Object, e As EventArgs) Handles CmbNuevoUsuario.Click

        'Si la validación del registro de usuarios devuelve true, es que los campos obligatorios tienen datos
        If ValidarRegistroUsuarios(TxtNombre.Text, TxtUsuario.Text, TxtClaveUsuario.Text) Then

            'y por lo tanto, debemos validar el nombre de usuario
            'entonces, si esta validación devuelve true, es que el usuario existe, y por lo tanto no podemos registrar el usuario
            If MisDatos.BuscarRegistros("Tb_Usuarios", "NombreUsuario='" & TxtUsuario.Text & "'") Then

                'entonces mostraremos un mensaje
                MsgBox("El usuario que desea registrar ya existe en la base de datos", vbCritical, "Error en el registro de usuarios")
                TxtUsuario.Clear()
                TxtUsuario.Focus()
                Exit Sub

            Else 'en caso contrario, es decir si devuelve falso, entonces es que el usuario no existe, por lo tanto podemos
                'realizar el registro.

                'entonces si podemos realizar el registro, comprobaremos si el usuario tiene alguna foto seleccionada
                If TxtFotoUsuario.Text = "" Then
                    'Si el textbox de la foto (que guardará la ruta de la imagen), esta vacio, es que no se ha seleccionado la foto
                    'por tanto preguntamos

                    If MsgBox("¿Desea agregar una foto a su perfil de usuario?", vbQuestion + vbYesNo, "¿Agregar fotografía?") = vbYes Then
                        'si respondemos que si, entonces dejamos de ejecutar codigo
                        Exit Sub
                    End If

                Else 'si por el contrario el textbox de la foto no está vacío, entonces agregamos el registro

                    'Para ello, primero construimos la consulta de inserción
                    Consulta = "Insert Into Tb_Usuarios(NombrePersona,NombreUsuario,ClaveUsuario,FotoUsuario)Values('" & TxtNombre.Text & "','" & TxtUsuario.Text & "','" & TxtClaveUsuario.Text & "','" & TxtFotoUsuario.Text & "')"

                    'Luego verificamos que la consulta esté construida y contenga datos
                    If Consulta = "" Then MsgBox("Debe introducir los valores que desea agregar a la base de datos", vbCritical, "Introduzca los datos") : Exit Sub

                    'Una vez que tenemos todo verificado, hacemos lo siguiente.
                    'Sabemos que tenemos un metodo el cual nos agrega registros y el cual se encuentra en una clase.
                    'Esa clase esta almacenada en la variable MisDatos, así que solo tenemos que hacer referencia a la variable
                    'y llamar a la función que nos agrega el registro.
                    MisDatos.AgregarRegistros(Consulta)

                    Call LimpiarTextos(Me.GroupBox1)
                    ImgUsuario.ImageLocation = Nothing
                    'Recordar que para agregar, eliminar o actualizar registros, debemos primero conectarnos a la base de datos,
                    'pero este proceso ya se realiza dentro de la función de agregado, actualización o eliminación
                    'por eso no lo llamamos desde el botón de nuevo usuario

                End If
            End If
        End If
    End Sub

    Private Sub CmbCerrarRegistro_Click(sender As Object, e As EventArgs) Handles CmbCerrarRegistro.Click
        Me.Close()
    End Sub

    Private Sub CmbBuscarFoto_Click(sender As Object, e As EventArgs) Handles CmbBuscarFoto.Click
        If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
            MsgBox("Debe seleccionar la imagen de su perfil", vbCritical, "Seleccione una imagen")
            Exit Sub
        Else
            TxtFotoUsuario.Text = OpenFileDialog1.FileName
            ImgUsuario.ImageLocation = OpenFileDialog1.FileName
        End If
    End Sub

'Procedimiento limpiar los textbox del formulario
    Private Sub LimpiarTextos(ByVal Grupo As Windows.Forms.GroupBox)
        Dim miControl As Object
        For Each miControl In Grupo.Controls
            If miControl.GetType Is GetType(System.Windows.Forms.TextBox) Then
                miControl.Clear()
            End If
            System.Windows.Forms.Application.DoEvents()
        Next
    End Sub

0 comentarios:

Publicar un comentario

 
Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies. OK | Más información