Bi0logiCaL - Di 18.08.09 10:38
Titel: Passwort in .txt datei übernehmen
Hallo,
ich hab hier so ein kleines Problem mit meinem Prog! Ich bin recht neu in C# und soll derzeit in meiner Firma kleine C#-Programme erstellen so zum kennenlernen.
Jedoch komm ich gerade nicht weiter und brauch dringend hilfe
Das ganze Programm ist recht simpel und übersichtlich! Zu Anfang erscheint eine Form mit 2 Textboxen (1x eingabe von Username, 1x eingabe von Password!) und 2 Buttons (1x Login und 1x Beenden). Bei richtiger Eingabe von Username und Passwort erscheint eine Form2, wo man sein Passwort ändern kann!
Alle User die eingetragen sind, wurden in eine .txt datei erfasst wo lediglich der Username und das Passwort steht e.g.: "MeinTestName;MeinTestPasswort"
der Login-Button ist so programmiert:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| private void btn_login_Click(object sender, EventArgs e) { foreach (User _user in _userList) { if (txtb_user.Text == _user.Username && txtb_pword.Text == _user.Password) { lbl_status.ForeColor= Color.ForestGreen; lbl_status.Text = "GRANTED"; lbl_status.Refresh(); System.Threading.Thread.Sleep(1000); Form2 frm = new Form2(); frm.Show(); this.Hide(); } else { lbl_status.ForeColor = Color.Firebrick; lbl_status.Text = "DENIED"; } } } |
Jetzt geht es also darum, wenn ich mich angemeldet habe, trag ich mein neues Passwort ein, bestätige durch drücken auf "Passwort ändern" und das eingetragene Passwort wird in der angegebene TextDatei angezeigt e.g.: vorher: MeinTestName;MeinTestPasswort - nachher: MeinTestName;GEAENDERTESPASSWORT!
wie stell ich das ganze an? help please :)
wenn ihr noch andere details braucht um mir zu helfen, sagt es mir und ich editiere es rein bzw poste es drunter!
Lg Bi0logiCaL^
Moderiert von
Christian S.: Titel geändert ("Help" entfernt, Hilft will hier praktisch jeder ;-)).
austrian programer - Do 03.09.09 08:31
hi Bi0logiCaL, hab dein problem hoffentlich gelöst, hier meine beiden verwendeten Klassen
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| public partial class Login : Form { public Login() { InitializeComponent(); }
private void buttonLogin_Click(object sender, EventArgs e) { foreach (string current in File.ReadAllLines(Directory.GetCurrentDirectory()+"\\Passwords.txt")) { if ((current.Split(';')[0] == textBoxUserName.Text) && (current.Split(';')[1] == textBoxPassword.Text)) { this.Visible = false; ChangePassword changepasswd=new ChangePassword(textBoxUserName.Text); changepasswd.FormClosed += new FormClosedEventHandler(OnChangePasswordClosed); changepasswd.ShowDialog(); } } }
void OnChangePasswordClosed(object sender, FormClosedEventArgs e) { this.Visible = true; } } |
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| public partial class ChangePassword : Form { public ChangePassword(string username) { InitializeComponent(); textBoxUserName.Text= username; }
private void buttonChangePassword_Click(object sender, EventArgs e) { string[] currentdatas = File.ReadAllLines(Directory.GetCurrentDirectory() + "\\Passwords.txt"); string[] newdatas = new string[currentdatas.Length]; for (int i = 0; i < newdatas.Length; i++) { if (currentdatas[i].Split(';')[0] == textBoxUserName.Text) newdatas[i] = string.Format("{0};{1}", currentdatas[i].Split(';')[0], textBoxPassword.Text); else newdatas[i] = currentdatas[i]; } File.WriteAllLines(Directory.GetCurrentDirectory() + "\\Passwords.txt",newdatas); this.Close(); } } |
Wenns irgendwelche Probleme mit meinem Code gibt bitte posten, hab ihn aber eig. getestet
mfg