如何使视觉基本分别阅读每个单独的项目

时间:2015-11-12 22:45:17

标签: vb.net

我是visual basic的新手,我正在努力创建一个功能注册和登录页面。目前,我的注册页面包含6个字段,如下所示:

First name(textbox 1 input)
Surname(textbox 2 input)
Class(textbox 3 input)
Username(textbox 4 input)
Password(textbox 5 input)
Confirm Password (textbox 6 input)

我的注册页面中的代码是将这些文本框中的输入写入格式为

的文本文件
input1, input2, input3, input4, input5, input6
input1, input2, input3, input4, input5, input6

在我的登录页面中,如何让程序将每个输入识别为单个项目?

因此,当用户在登录页面的文本框中输入用户名时,我可以要求程序查看第4列,看看用户输入的用户名是否与文本文件中的用户名匹配? :/

这是我尝试过的,但它似乎没有用。

在我的注册页面中,我使用Streamwriter和Streamreader将数据输入写入文本文件。

1 个答案:

答案 0 :(得分:1)

String Arrays具有从零开始的索引,这意味着您需要查看currentRow变量的第3和第4个索引以获取用户名和密码。另外,您不应将vbTrue Constant(或vbFalse)用于Boolean,而应使用值True。

其他建议:使用AndAlso短路vs.如果用户名错误,甚至不用检查密码。此外,您应该将文本框控件重命名为具有更有意义的ID,例如txtUserName和txtPassword。

    Using MyReader As New Microsoft.VisualBasic.FileIO.TextFieldParser("C:\Path\registrationtest.txt")
        Dim correct As Boolean
        correct = False
        MyReader.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
        MyReader.SetDelimiters(",")
        Dim currentRow As String()
        While Not MyReader.EndOfData
            currentRow = MyReader.ReadFields()
            If TextBox1.Text = currentRow(3) AndAlso TextBox2.Text = currentRow(4) Then
                correct = True
                Search_Form.ShowDialog()
            End If
        End While
        If correct = False Then
            MsgBox("The username or password was incorrect.", MsgBoxStyle.Critical, "Information")
        End If
    End Using