Autor Beitrag
dinazavric
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Mo 02.05.11 15:29 
Hallo

Ich bin ein Anfänger und möchte gerne eine ganz einfache Passwortabrage auf Knopfdruck erstellen. Ich habe mein Main-Form, wo man den ausgewählten Benutzern die Möglichkeit geben soll weitere Fenster aufzumachen und damit zu arbeiten. Diese sollten jedoch erst nach Angabe des richtigen Passworts verfügbar sein. Ich möchte, dass das Passwort mit einer txt-Datei abgeglichen werden kann. Leider habe ich keine Ahnung wie ich es am einfachsten mache. Im Internet werden laute Sachen mit Verschlüsselung usw. angeboten, was ich im Moment nicht brauche und auch noch nicht verstehe...
Kann mir jemand helfen? Oder vielleicht einen Link schicken wo mir geholfen wird?

Danke!
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 02.05.11 20:40 
Hier findest du ein Beispiel:
www.tsql.de/csharp/csharp_textdatei

Gleich bei ReadFile ganz oben siehst du wie du eine Datei lesen kannst.

Für diesen Beitrag haben gedankt: dinazavric
dinazavric Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Di 03.05.11 09:06 
Danke, wie man eine Datei ausliest kenne ich, mir wäre es eher wichtig zu erfahren wie man einfach eine Passwort abfrage erstellt...
Das vorgeschlagene Beispiel iat aber sehr gut :-)
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4805
Erhaltene Danke: 1061

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 03.05.11 09:53 
ausblenden C#-Quelltext
1:
2:
3:
if (textBox.Text == password)
{
}

oder was meinst du, ist daran so schwierig?

Für diesen Beitrag haben gedankt: dinazavric
dinazavric Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Mi 04.05.11 09:37 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
oder was meinst du, ist daran so schwierig?


Wie man ein Textvergleich macht ist ja wirklich nicht so schwer ;-) Ich habe in der Zwischenzeit aber die Lösung gefunden und da ist das was ich eigentlich gebraucht habe:

1. Auf meiner Main-Form habe ich folgenden Code für das Passwort-Button:

ausblenden volle Höhe 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:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
private void Password_Click(object sender, EventArgs e)
        {
            string Password;
            while (true)
            {
                using (PasswordForm Frm = new PasswordForm())
                {
                    if (Frm.ShowDialog(this) != DialogResult.OK)
                    {
                        this.Close();
                        return;
                    }
                    Password = Frm.Password;
                }

                StreamReader myFile = new StreamReader(@"c:\Temp\Password.txt");
                string sContent = myFile.ReadToEnd();
                myFile.Close();

                Regex pw_rgx = new Regex(Password);
                string[] pw = new string[2];
                
                if (pw_rgx.IsMatch(sContent))
                {
                    toolStripStatusLabel1.Text = "Password is correct!";
                    [... hier wird eben das gemacht, was man über die Passwortanfrage erlauben möchte...] 
                    break;
                }
                else
                {
                    toolStripStatusLabel1.Text = "Password is wrong!";
                    break;
                }
               
            }
        }


2. Eine PasswordForm mit folgendem Code:

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
namespace PasswordForm
{
   public partial class PasswordForm : Form {
      public PasswordForm() {
         InitializeComponent();
      }

      public string Password {
         get { return this.textBox1.Text; }
      }
   }
}


Genau das habe ich auch gesucht :-) Falls es vorschläge gibt, wie man es besser machen kann, wäre ich sehr dankbar! Dargestellt ist eben eine Anfänger-Lösung ;-)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.05.11 10:11 
user profile icondinazavric hat folgendes geschrieben Zum zitierten Posting springen:
Wie man ein Textvergleich macht ist ja wirklich nicht so schwer ;-)
Und deshalb benutzt du einen Regex, weil es sonst zu einfach ist? :gruebel: :lol:

Für diesen Beitrag haben gedankt: Eudaimonie
dinazavric Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Mi 04.05.11 10:14 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
user profile icondinazavric hat folgendes geschrieben Zum zitierten Posting springen:
Wie man ein Textvergleich macht ist ja wirklich nicht so schwer ;-)
Und deshalb benutzt du einen Regex, weil es sonst zu einfach ist? :gruebel: :lol:


Lach! Wie schon oben geschriben, möchte ich eine TXT-Datei benutzen, die muss ich ja irgendwie einlesen und durchsuchen.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19339
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.05.11 11:32 
Ja, aber ich meine ja den Vergleich:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
                StreamReader myFile = new StreamReader(@"c:\Temp\Password.txt");
                string sContent = myFile.ReadToEnd();
                myFile.Close();

                Regex pw_rgx = new Regex(Password);
                string[] pw = new string[2];
                
                if (pw_rgx.IsMatch(sContent))
                {
Wie wäre es wie user profile iconTh69 bereits geschrieben hatte? ;-)
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
                StreamReader myFile = new StreamReader(@"c:\Temp\Password.txt");
                string sContent = myFile.ReadToEnd();
                myFile.Close();

                if (Password == sContent)
                {

Für diesen Beitrag haben gedankt: dinazavric
dinazavric Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 75



BeitragVerfasst: Mi 04.05.11 11:34 
user profile iconjaenicke hat folgendes geschrieben:
Wie wäre es wie user profile iconTh69 bereits geschrieben hatte? ;-)


Achso, ja, das sieht besser aus. Danke :-)