Autor Beitrag
Bi0logiCaL
Hält's aus hier
Beiträge: 2

WIN 7, WIN 2008 R2
C# (VS 2010, #Develop)
BeitragVerfasst: Di 18.08.09 10:38 
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:
ausblenden 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 user profile iconChristian S.: Titel geändert ("Help" entfernt, Hilft will hier praktisch jeder ;-)).
austrian programer
Hält's aus hier
Beiträge: 1
Erhaltene Danke: 1



BeitragVerfasst: Do 03.09.09 08:31 
hi Bi0logiCaL, hab dein problem hoffentlich gelöst, hier meine beiden verwendeten Klassen
ausblenden 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;
        }
    }

ausblenden 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

Für diesen Beitrag haben gedankt: Bi0logiCaL