Streamwriter, Sreamreader abfrage ob Text ident ist nicht direkt möglich



  • ICh habe ein Problem nämlich:

    Ich habe so eine Art Registrierungsporgramm geschrieben. Da muss man sich zuerst registrieren. Also in eine Textbox den Namen in der anderen TextBox das Passwort.
    Dann schreibe ich das in 2 Textdatein und zwar so:

    [cs]StreamWriter Benutzer1 = new StreamWriter(@"C:\Users\Public\Documents\Benutzer.txt");
                    Benutzer1.WriteLine(Benutzer);
                    Benutzer1.WriteLine();
                    Benutzer1.Close();
    
                    StreamWriter Passwort1 = new StreamWriter(@"C:\Users\Public\Documents\Passwort.txt");
                    Passwort1.WriteLine(Passwort);
                    Passwort1.WriteLine();
                    Passwort1.Close();[/cs]
    

    Dann fordere ich den Benutzer auf das Programm neu zu starten und nun kann er sich anmelden.

    Durch einen Klick auf den Button lade ich die Textdateien wieder in daws Programm:

    [cs]StreamReader Benuter = new StreamReader(@"C:\Users\Public\Documents\Benutzer.txt");
                    Benutzername1 = Convert.ToString(Benuter.ReadToEnd());
                    Benuter.Close();
    
                    StreamReader Passwort2 = new StreamReader(@"C:\Users\Public\Documents\Passwort.txt");
                    Passwort1 = Convert.ToString(Passwort2.ReadToEnd());
                    Passwort2.Close();[/cs]
    

    Wenn ich nun Abfragen mag ob der Text der TextBox ident mit dem PW und Benutzernamen ist dann geht das so nicht:

    [cs]      Geheim1 = textBox1.Text;
                    Name1 = textBox2.Text;
                    if (Benutzername1 == Name1 && Geheim1 == Passwort1)[/cs]
    

    Ich muss es immer so machen:

    [cs]      Geheim1 = textBox1.Text + "\r\n\r\n";
                    Name1 = textBox2.Text + "\r\n\r\n" ;
                    if (Benutzername1 == Name1 && Geheim1 == Passwort1)[/cs]
    

    Aber es ändert sich das \r\n\r\n meistens immer.

    Meine Frage: Wie kann es machen, dass zB Beuntzername1 nicht den Inhalt der Datei + "\r\n\r\n" sondern nur den Inhalt der Datei zugeordnet bekommt?

    Ich hoffe ich habe es mit den Code Beispielen nicht übertrieben.

    Ich freue mich auf Hilfe und/oder Tipps.

    mfg



  • Warum verwendest du nicht Properties?



  • Benutze mal ReadLine();



  • Achja für Aktionen mit solchen "Writern" oder ähnlichen Sachen, würde ich immer das Using-Idiom empfehlen.Intern wird es zwar auch in einen try/catch/finally umgewandelt, aber es ist sauberer und schlanker.

    using(StreamWriter s = new StreamWriter("test.txt"))
    {
         s.WriteLine("Geiler Scheiss!");
    }
    

    Um das

    s.Close()
    

    brauchst du dich nun nicht mehr kümmern, jegliche Ressourcen die mit Using anlegbar sind(müssen IDisposable Implementieren) werden am Ende des Scopes automatisch Disposed.



  • Danke mit ReadLine() hat es geklappt.

    @Unix-Tom:
    Weil ich nicht weiß was ich mit den Properties machen soll und was mir die bringen.

    @Fire-Fighter: Danke der Code ist wirklich sher viel kompakter.

    mfg
    Mongole



  • Google einfach mal nach "C# Properties".


Anmelden zum Antworten