Moin: ich hätte 2 Klassen gemacht:
Program und Logic
Die Klasse Logic liest jede Zeile der Textdatei aus. Außerdem erlaubt sie nur 3 Zugriffversuche. Der Pfad kann vom Benutzer angegeben werden... Falls ich das so falsch verstanden habe, wäre gut wenn du das alles nochmal erläuterst was du mit: "Jetzt möchte ich eine Ordnerstruktur anlegen, in die man Daten eingeben und abrufen kann (über .txt Dateien)." meinst.
class Program
{
static void Main(string[] args)
{
string path;
Console.Write("Bitte Pfad angeben:");
while (!File.Exists(path = Console.ReadLine()))
{
Console.WriteLine("Datei existiert nicht! - Bitte korrekten Pfad angeben");
}
Logic lg = new Logic(path);
}
}
public class Logic
{
private string _path;
const string PW = "meinPasswort";
int passwortTryout = 0;
public Logic(string Path)
{
_path = Path;
Console.WriteLine("Bitte Passwort eingeben:");
while (passwortTryout < 3)
{
passwortTryout++;
TryPasswort();
}
}
private void TryPasswort()
{
string strCurrentEntry = strCurrentEntry = Console.ReadLine();
if (strCurrentEntry == PW)
{
Console.WriteLine("Anmeldung erfolgreich\r\n");
TextDateiLesen();
passwortTryout = 0;
}
else
{
Console.WriteLine(string.Format("Falsches Passwort - noch {0} Versuche", 3 - passwortTryout));
}
}
private void TextDateiLesen()
{
// using gibt den Speicher nach der Benutzung des StreamReaders frei.
using (StreamReader sr = new StreamReader(new FileStream(_path, FileMode.Open)))
{
while (!sr.EndOfStream)
{
Console.WriteLine(sr.ReadLine());
}
}
}