In der ListBox stehen aber nur die Namen
Was ich ändern will sind aber auch noch Adresse,Alter,Beruf ..
Deswegen ja auch ein neuer Dialog mit den Textfeldern
Die ID vom Namen wird zB nicht geändert
Es soll ja nur der ausgewählte Name geändert werden
if((id==usr[0])) //Wenn NameID (aus Form2) gleich der ID in der txt
{usr[3]=textBox1.Text; //an Stelle 4 steht der Name
TextWriter stringWriter = new StringWriter();
using(TextWriter streamWriter =
new StreamWriter(pfad2))
{
stringWriter.WriteLine(usr[3]);
stringWriter.Close();
streamWriter.Close();
}
}
So muss das Speichern doch in Lesen rein!?
Nur so wird doch der ausgewählte Namre gändert
Damit ich jetzt zum Ende komme meine Abschlussfrage
Ich habe es jetzt so gemacht das man auch den Namen eines Einwohners ändern kann.
Also habe ich drei Forms (Ort,Einwohner und Einwohner ändern)
Auf dem Form Einwohner ändern habe ich jetzt ein Button wenn man da drauf klickt soll das ganze dann in name.txt gespeichert werden.
private void button1_Click(object sender, System.EventArgs e)
{
FileStream f;
String line;
String[] usr;
f = new FileStream(pfad2, FileMode.Open); //Den Dateipfad wird aus der ersten Form bezogen
StreamReader r = new StreamReader(f);
while ((line = r.ReadLine()) != null)
{
usr = line.Split('|');
if((id==usr[0])) //Wenn NameID (aus Form2) gleich der ID in der txt
{
usr[3]=textBox1.Text; //an Stelle 4 steht der Name
TextWriter stringWriter = new StringWriter();
using(TextWriter streamWriter =
new StreamWriter(pfad2))
{
stringWriter.WriteLine(usr[3]);
stringWriter.Close();
streamWriter.Close();
}
}
}
f.Close();
r.Close();
}
Das ganze geht nicht da ja noch aus der Datei gelesen wird .
Aber wie soll ich das den sonst machen?
Nur leider gibt es da Probleme mit dem auswahl2==listBox1.SelectedItem.ToString(); Das kann man wohl nur in der public void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) Methode machen
Aber ich kann die Werte der Varibalen nicht von einer Methode in die andere übernehmen
Ich lade die Orte aus der der Datei DYN_team
listBox1.Items.AddRange(new object[] {usr[4]});
Werden alle im Array an 4.Stelle stehen daten in die listbox gelesen
Das sind die Namen der Orte
Nun wählt der User den Ort aus und klickt auf ein OK Button
Es öffnet sich ein neues Fenster wo alle Einwohner der ausgewälten Ortes stehen
Dazu habe ich gedacht von dem ausgewählten Ort die ID die auszulesen
Im String auswahl2 soll der Name des ausgewählten Ortes steht
Wenn dieser gleich eines Ortsnamen aus der Texdatei ist dann soll erstmal zum Test die OrtsID in einer 2.Listbox ausgegeben werden
Ich habe die frage schon in einem anderen Forum gestellt doch da bekomme ich keine Antwort deswegen frage ich hier nochmal
Ich habe folgendes Problem:
Zwei Datein in der einen Stehen (orte.txt) die Orte mit ID
1|Berlin
2|Köln
3|Duisburg
usw
In der anderen (name.txt) stehen Namen und auch die ID der Orte
NameID|Name|OrtID
1|Fritz Meier|1
2|Fritz_Meier|3
3|Fritz-Meier|2
Ich will nun wenn das Programm startet alle Orte in einer Liste angezeigt werden
Was soweit auch kein Problem ist nur wenn ich jetzt auf ein Ort klicke soll sich eine weitere Liste öffen in der alle IDs und Namen aus name.txt von dem ausgewählten Ort stehen
Das war soweit geklärt
Aber ich habe immer noch ein Problem
Ich lade über ein MenüItem die Datei
Ich habe zum Testen nun eine 2.ListBox gemacht in der dann die ID des Ortes ausgegeben wird von dem ausgewählten Ort
Nur leider gibt es da Probleme mit dem auswahl2==listBox1.SelectedItem.ToString();
Das kann man wohl nur in der public void listBox1_SelectedIndexChanged(object sender, System.EventArgs e) Methode machen
Aber ich kann die Werte der Varibalen nicht von einer Methode in die andere übernehmen