Ich arbeite in diesem Programm für 3 Stunden, aber ich weiß nicht, wo ich falsch mache. Wenn Sie mir helfen könnten, ich schätze es wirklich. Das Problem ist, wenn ich das Kennwort eintrage. Es sagt, dass es falsches Kennwort ist, selbst wenn ich das richtige Kennwort gebe, erlaubt es mir nicht, es erneut zu versuchen. Das Programm soll dem Benutzer erlauben, 3mal zu versuchen, wenn die Benutzer falsches Kennwort setzen nach dem dritten Mal muss das Programm schließen.Wie kann man das Passwort dreimal in C# eingeben?
public partial class UserAndPin : Window
{
public UserAndPin()
{
InitializeComponent();
}
private void btnOK_Click(object sender, RoutedEventArgs e)
{
try
{
StreamReader sr = new StreamReader("Customer.txt");
short attempts = 0;
string line;
while ((line = sr.ReadLine()) != null)
{
string[] lineArray = line.Split(';');
if (lineArray[0] == txtName.Text & lineArray[1] == pbPassword.Password)
{
MainWindow mainWindow = new MainWindow();
this.Hide();
mainWindow.ShowDialog();
//return;
}
else
{
attempts++;
if (attempts < 3)
{
MessageBox.Show("The NAME or PIN is incorect, you have " + (3 - attempts) + " attemps more");
}
if (attempts == 3)
{
MessageBox.Show("Please try again later");
this.Close();
}
}
}
sr.Close();
}
catch (Exception error)
{
MessageBox.Show(error.Message);
}
}
}
}
Lernen Sie, Ihren Debugger zu verwenden! [Wie kleine Programme zu debuggen] (https://ericlippert.com/2014/03/05/how-to-debug-small-programs/) –
@Gurwinder Können Sie mir ein bisschen mehr erklären, was Sie bitte meinen? – Shahzada
@Gurwinder Was ist falsch mit '==' zu Strings zu vergleichen? –