我是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将数据输入写入文本文件。
答案 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