2016-10-04 7 views
-6

(Alles ist in C# gemacht) Die loggedIn Variable in der MainWindow Klasse wird nicht geändert in true? Die label wird geändert, aber die Variablen nicht. Wie kann ich das beheben? Danke für die Hilfe!C# Variable ändert sich nicht?

MainWindow game = new MainWindow(); 

if(!game.loggedIn) 
{ 
if (tbxUsername.Text != "" && tbxPassword.Text != "") 
    { 
     if(System.IO.File.Exists(System.AppDomain.CurrentDomain.BaseDirectory + "Passwords\\" + tbxUsername.Text + ".txt")) 
     { 
      if(System.IO.File.ReadAllText(System.AppDomain.CurrentDomain.BaseDirectory + "Passwords\\" + tbxUsername.Text + ".txt") == tbxPassword.Text) 
      { 
       game.loggedIn = true; 
       game.username = tbxUsername.Text; 
       game.password = tbxPassword.Text; 
       lblMessage.Content = "U bent ingelogd als " + game.username + "!"; 
       tbxUsername.Text = ""; 
       tbxPassword.Text = ""; 
      } 
      else 
      { 
       lblMessage.Content = "U heeft een verkeerd password ingegeven!"; 
       tbxUsername.Text = ""; 
       tbxPassword.Text = ""; 
      } 
     } 
     else 
     { 
      lblMessage.Content = "Deze username bestaat niet!"; 
      tbxUsername.Text = ""; 
      tbxPassword.Text = ""; 
     } 
    } 
    else 
    { 
     lblMessage.Content = "U heeft geen password/username ingegeven!"; 
     tbxUsername.Text = ""; 
     tbxPassword.Text = ""; 
    } 
} 
else 
{ 
    lblMessage.Content = "U bent al ingelogd!"; 
} 

}

+0

Was meinen Sie durch * wird nicht geändert *? Haben Sie versucht, den Code zu debuggen? Erhalten Sie einen Fehler? –

+2

Ich hoffe, das ist kein Produktionscode. Schrecklicher Weg, mit Passwörtern fertig zu werden ... – jeroenh

+2

debug den Code. Wir wissen nicht, was Ihre Eingaben sind. Gehe durch jede Zeile und überprüfe die tatsächlichen Werte im Vergleich zu dem, was du erwartest. – Jonesopolis

Antwort

-2

Sie haben nicht den breiteren Umfang des Codes, aber ich bin mir ziemlich sicher, dass das Problem ist, dass Sie ein neues MainWindow jedes Mal dieser Funktion aufgerufen wird initialisieren

+0

danke für die antwort so schnell! Ich habe noch eine Frage, wie kann ich Variablen aus einer anderen Klasse ändern, ohne ein neues MainWindow zu initialisieren? Danke für Ihre Hilfe! – OPsteffOP

+4

Ich würde empfehlen oder vorschlagen, dass Sie etwas lesen und oder lernen von einigen C# Grundlagen wir sind nicht hier, um Ihren Code für Ihre @OPsteffOP schrecklichen Ansatz in Bezug auf Passwörter zu überprüfen – MethodMan

+0

@OPsteffOP - Ich stimme mit MethodMan über Lesen und Lernen mehr, bevor Sie Fragen stellen. Aber wenn schon hier dann vielleicht ein Ort für den Anfang, für den Umfang der Variablen sind: [this] (https://msdn.microsoft.com/en-us/library/ms973875.aspx) und [this] (https://msdn.microsoft.com/en-us/library/aa691132(v=vs.71).aspx) –

Verwandte Themen