none
Perdida de los datos de una matriz RRS feed

  • Pregunta

  • estoy trabajando en una aplicacion de manejo de una biblioteca (imaginaria por supuesto) aun no se manejar base de datos asi q por ahora estoy almacenando los datos en una matriz (vector de 2 dimenciones) q esta declarado como publico en una forma1 q llame identificate (es para controlar el acceso a la forma q es el mdicontainer mediante un ID y contraseña) la forma identificate tiene un link label q abre otra form q es en la q guardo los strings respectivos de ID y contraseña en la matriz declarada en la form identificate esta asi "<nombre de la forma>.<nombre de la matriz>(0,aux).text=<textbox de la forma actual> aux tambn esta declarado como publico y se incrementa cada vez q se preciona el link label, pero a la hora de intoducir la contraseña y el ID en el form identificate para entrar a la forma q es mdicontainer los valores se pierden, o eso es lo q pienso q pasa por q me manda el msgbox q programe para cuando la contraseña y el pass no coinciden.

    de igual forma adjunto el codigo y unas fotos

    http://img9.imageshack.us/img9/7168/formidentificate.png

    Codigo de la forma:

    Public Class Identificate
        Public kgada, aux, aux2 As Integer
        Public reg(2, 5) As String
        Private Sub ButEntrar_Click(sender As System.Object, e As System.EventArgs) Handles ButEntrar.Click
            For Me.aux2 = 0 To aux
                If (ID.Text = reg(0, aux2) And Password.Text = reg(1, aux2)) Then
                    Me.Hide()
                    Contenedor.Show()
                    Exit For
                Else
                    kgada = kgada + 1
                    If (kgada = 4) Then
                        MsgBox("Usted no esta autorizado para acceder a este servicio", MsgBoxStyle.Critical, "Error!!")
                    ElseIf (ID.Text <> reg(0, aux2) And Password.Text <> reg(1, aux2)) Then
                        MsgBox("Usted no esta registrado", MsgBoxStyle.Information, "Ooops!!")
                    ElseIf (ID.Text <> reg(0, aux2)) Then
                        MsgBox("Porfavor verifique que escribio correctamente su ID", MsgBoxStyle.Exclamation, "ID incorrecto")
                    ElseIf (Password.Text <> reg(1, aux2)) Then
                        MsgBox("Porfavor verifique que escribio correctamente su password", MsgBoxStyle.Exclamation, "Password incorrecto")
                    End If
                    Exit For
                End If
            Next aux2
        End Sub

        Private Sub LinkLabel1_LinkClicked(sender As System.Object, e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
            Registrarse.Show()
            Me.Hide()
        End Sub
    End Class

    http://imageshack.us/photo/my-images/442/formregistrarse.png/

    Codigo de la forma:

    Public Class Registrarse

        Private Sub ButReg_Click(sender As System.Object, e As System.EventArgs) Handles ButReg.Click
            If (PassReg.Text = ConPassReg.Text And IDReg.TextLength <= 10) Then
                Identificate.reg(0, Identificate.aux) = Identificate.ID.Text
                Identificate.reg(1, Identificate.aux) = Identificate.Password.Text
                Identificate.aux = Identificate.aux + 1
                Identificate.Show()
                Me.Hide()
                Identificate.ID.Focus()
            Else
                If (PassReg.Text <> ConPassReg.Text And IDReg.TextLength > 10) Then
                    MsgBox("Las contraseñas no concuerdan, ademas, el ID no debe exeder los 10 caracteres", MsgBoxStyle.Exclamation, "Aviso!!")
                ElseIf (IDReg.TextLength > 10) Then
                    Label4.Text = "El ID no puede exeder los 10 caracteres"
                    Label4.Visible = True
                    Label1.ForeColor = Color.Red
                    Label1.Text = "*" & Label1.Text
                ElseIf (PassReg.Text <> ConPassReg.Text) Then
                    Label4.Text = "Las contraseñas no concuerdan"
                    Label4.Visible = True
                    Label3.Text = "*" & Label3.Text
                    Label3.ForeColor = Color.Red
                End If
            End If
        End Sub
    End Class

    necesito ayuda porq al dar a boton entrar parece q la mtriz no tubiera valor alguno

    --Edito--

    perdon por los links xD! no sabia cual poner

    • Editado Ericknight sábado, 9 de junio de 2012 20:21 Ayuda!! D:
    sábado, 9 de junio de 2012 20:17

Todas las respuestas

  • Hola.

    Lo que puedo apriciar en tu codigo no es que se este perdiendo la informacion, es que solo estas recorriendo las columnas de la primera fila y supongo que no te da el MsgBox porque el Id del usuario si se encuentra en la primera fila:

     For Me.aux2 = 0 To aux
                If (ID.Text = reg(0, aux2) And Password.Text = reg(1, aux2)) Then
                    Me.Hide()
                    Contenedor.Show()
                    Exit For
                Else
                    kgada = kgada + 1
                    If (kgada = 4) Then
                        MsgBox("Usted no esta autorizado para acceder a este servicio", MsgBoxStyle.Critical, "Error!!")
                    ElseIf (ID.Text <> reg(0, aux2) And Password.Text <> reg(1, aux2)) Then
                        MsgBox("Usted no esta registrado", MsgBoxStyle.Information, "Ooops!!")
                    ElseIf (ID.Text <> reg(0, aux2)) Then
                        MsgBox("Porfavor verifique que escribio correctamente su ID", MsgBoxStyle.Exclamation, "ID incorrecto")
                    ElseIf (Password.Text <> reg(1, aux2)) Then
                        MsgBox("Porfavor verifique que escribio correctamente su password", MsgBoxStyle.Exclamation, "Password incorrecto")
                    End If
                    Exit For
                End If
            Next aux2
        End Sub

    Recuerda que las matrices de declaran

    Matriz(fila, columna).

    Lease esto antes de seguir ;)

    Matrices en Visual Basic

    Saludos.

    lunes, 11 de junio de 2012 16:23