Hallo,
ich habe eine Frage. Wie programmiert ich das so?
Aufgabe:
Wird dreimal hintereinander ein falscher Benutzername oder ein falsches Passwort eingegeben, wird die GUI unter 4. durch ein Label „lbl_code“ und ein durch ein Textfeld „txt_code“ ergänzt. Die Eingabe von Benutzername und Password ist nicht mehr möglich. Nach Eingabe des Codes „0815“ zeigt die GUI wieder den Grundzustand an und die Fehlversuche werden gelöscht.
Ich hoffe, da kann jemand weiterhelfen.
Das klingt für mich nach einer Lehraufgabe.
Da ich jetzt nicht lesen kann, das die Nutzer- und Passworteingabe ausgeblendet werden sollen musst du eigentlich nur die Anzahl der Fehlversuche zählen.
Ist die Anzahl 3 erreicht, werden Nutzer- und Passworteingabe deaktiviert und die Code-Eingabe sichtbar geschalten.
Nachdem der Code korrekt eingegeben wurde setzt du den Zähler zurück, aktivierst die Nutzer- und Passworteingabe und schaltest die Code-Eingabe unsichtbar.
Ist eigentlich kein Hexenwerk.
Wissen ist nicht alles. Man muss es auch anwenden können.
PS Fritz!Box API - TR-064 Schnittstelle | PS EventLogManager |
Vielen Dank für Ihren Antwort.
Können Sie mir bitte das vorprogrammieren? Wäre super.
Hier unten habe ich programmieren. Fehlen nur die Fehlversuche zurücksetzen und Code eingeben.
private void button1_Click(object sender, EventArgs e)
{
string username = txt_name.Text;
string password = txt_pwd.Text;
if (txt_name.Text=="" || txt_pwd.Text=="")
{
attempt = 0;
MessageBox.Show("Bitte geben Sie Benutzername und Passwort ein!");
return;
}
else if ((attempt == 3) && (attempt > 0))
{
lbl_versuch.Text = ("Sie haben nur noch " + Convert.ToString(attempt) + " Versuche.");
--attempt;
}
else if ((attempt == 2) && (attempt > 0))
{
lbl_versuch.Text = ("Sie haben nur noch " + Convert.ToString(attempt) + " Versuche.");
--attempt;
}
else if ((attempt == 1) && (attempt > 0))
{
lbl_versuch.Text = ("Sie haben nur noch " + Convert.ToString(attempt) + " Versuch.");
--attempt;
}
try
{
//Erstellen Sie SqlConnection
SqlConnection con = new SqlConnection(cs);
SqlCommand cmd = new SqlCommand("Select * from tbl_Login where UserName=@username and Password=@password", con);
cmd.Parameters.AddWithValue("@username",txt_name.Text);
cmd.Parameters.AddWithValue("@password", txt_pwd.Text);
con.Open();
SqlDataAdapter adapt = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapt.Fill(ds);
con.Close();
int count = ds.Tables[0].Rows.Count;
//Wenn count gleich 1 ist, wird die Form frmMain angezeigt
if (count == 1)
{
MessageBox.Show("Anmeldung erfolgreich!");
this.Hide();
FormGUI fm = new FormGUI();
fm.Show();
}
else
{
MessageBox.Show("Login Failed!");
}
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Bitte beachte auch hier [Hinweis] Wie poste ich richtig? und pack den Code in die Tags.
Niemand hat Lust Plaintext zu lesen.
Weiterhin ist das Forum kein kostenloser Quellcode-Generator.
Wir programmieren nicht Dein Zeugs - das ist nicht die Aufgabe eines Forums.
Der Sinn eines Forums ist, dass Du Probleme verstehst um sie selbst lösen zu können - nicht, dass wir Dir Deine Hausaufgaben programmieren.
Und da Du hier offenbar Schulaufgaben vor Dir hast ist es auch nicht im Sinne des Lehrers, dass Dir jemand anders den Quellcode schreibt 😉
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Der Thread-Ersteller hat sich entschlossen seinen Account zu löschen. Daher schließe ich das Thema.