Hallo,in .NET benutzt man normelerweise spezielle
Einstellungen zum speichern von Benutzerdaten.
Dort brauchst du nur Eigenschaften anzulegen und entsprechend in den Eventhandlern der Buttons zuzuweisen.
Den angezeigten Text speichern TextBoxen(WinForms/WPF)
in der Text-Eigenschaft (WinForms/WPF).
Wenn du trotzdem eine normale Datei haben willst (Dateiaustausch!?), dann würde ich es wie folgt aufbauen:
Name
Vorname
Adresse
Telefon
...
Also jede TextBox bekommt eine Zeile. Nun kannst du es wie folgt in eine Datei hinein schreiben:
//Daten schreiben
StreamWriter sw = null;
try
{
sw = new StreamWriter(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "data.txt"));
sw.WriteLine("Name");
sw.WriteLine("Vorname");
sw.WriteLine("Adresse");
sw.WriteLine("Telefon");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sw.Close();
}
Dabei sind die Texte in
WriteLine() die in die Datein zu schreibenden Texte.
Zum auslesen kannst du folgenden Code verwenden:
//Daten lesen
StreamReader sw = null;
try
{
sw = new StreamReader(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "data.txt"));
textBoxName.Text = sw.ReadLine();
textBoxVorname.Text = sw.ReadLine();
textBoxAdresse.Text = sw.ReadLine();
textBoxTelefon.Text = sw.ReadLine();
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
sw.Close();
}
Wichtig ist also die Reihenfolge, wie die Daten in der Datei stehen.
(Ich erzeugte in den obigen Codes einen Stream, der im finally Block wieder frei gegeben wird, falls ein Fehler auftritt, nachfolgend benutze ich die FileKlasse, die hier eine vereinfachung bietet)
Alternativ kannst du dir auch für jeden Eintrag einen Präfix ausdenken, nach dem du dann die Daten zuordnest:
foreach(string line in File.ReadAllLines(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "data.txt")))
{
if (line.Length >= 5)
{
switch (line.Substring(0, 5))
{
case "name:":
textBoxName.Text = line.Substring(5);
break;
case "lstn:":
textBoxVorname.Text = line.Substring(5);
break;
}
}
else
{
MessageBox.Show("Fehlerhafter Datensatz");
}
}
Koopakiller [kuːpakɪllɐ] | Webseite |
Code Beispiele |
Facebook | Snippets