次のコードがあります。
Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
Using sr As New StreamReader(strUsersPath)
Dim line = sr.ReadLine
Dim sline As String()
Do While (Not line Is Nothing)
sline = line.Split("|")
If sline(0) = tbUsername.Text And sline(1) = tbPassword.Text Then
Form2.Show()
Me.Hide()
Exit Sub
Else
line = sr.ReadLine
If sline(0) = tbUsername.Text Then
MsgBox("Invalid password!")
End If
If line = Nothing Then
MsgBox("Failed login")
End If
End If
Loop
End Using
End Sub
ログイン ボックスにこのコードを使用しようとしています。tbUsername と tbPassword の 2 つのテキスト ボックスがあります。ユーザーがログインをクリックすると、コードは users.txt ファイル (strUsersPath 内) を開き、一致するログインが見つかるまでループします。 . ユーザー名が間違っている場合は、メッセージボックス (「無効なパスワード!」) が表示され、ユーザー名またはパスワードが見つからない場合は、別のメッセージ (「ログインに失敗しました!」) が表示されます。
ただし、私の問題は、コードを実行すると、詳細が正しい場合はログインが正常に機能することですが、そうでない場合は、両方のメッセージボックスが表示されます (「無効なパスワード」+「ログインの失敗」)。ループは続きますが、私が望む方法で構文を解決できないようです。何か助けはありますか?