Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von alf468
Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

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

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

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

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich lasse den Namen in einem TextFeld anzeigen wo dann der User den Namen ändern kann.
Per klick auf den Button wird die änderung gespeichert

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Och kommt jetzt gibt mir noch den letzten Tip X(

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

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?

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ok danke es geht

Man selectiert doch ein Item in der ComboBox doch mit
comboBox1.SelectedText="text"; oder??
Das geht nämlich nicht

Was mich auch wundert ist das kein Ü, Ä oder so vorhanden ist

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Also ich mache erst mal

Hashtable htFilter= new Hashtable();
Dann schreibe ich vor dem

listBox1.Items.Add(usr[1]); 

if (!htFilter.Contains (usr[1])) 

Aber wie lege ich die zu streichenden Orte fest?

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das war nur ein Beispiel aber egal ich habe das Programm jetzt auf das Beispiel angepast.

Und ich muss mich damit bei euch bedanken
Jetzt geht alles so wie ich es will

Über das Menü wird die Datei geladen

private void menuItem2_Click(object sender, System.EventArgs e)
		{
			FileStream f;
			openFileDialog1.FileName="Ort";
			openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ;
			openFileDialog1.RestoreDirectory = true ;
			String line;
			if(openFileDialog1.ShowDialog()== DialogResult.OK)
			{
				f = new FileStream(openFileDialog1.FileName, FileMode.Open);
				r = new StreamReader(f);
				while ((line = r.ReadLine()) != null) 
				{
					usr = line.Split('|');
					listBox1.Items.AddRange(new object[] {usr[1]});
					int auswahl=listBox1.SelectedIndex;
					
				}
				
				r.Close();
				
				pfad=openFileDialog1.FileName;
				
				
			}
		}

Per OK Button wird die ID des Ortes "geholt"

private void button1_Click(object sender, System.EventArgs e)
		{
			FileStream f;
			String line;
			String a=listBox1.SelectedItem.ToString();
			
			f = new FileStream(pfad, FileMode.Open);
			r = new StreamReader(f);
			while ((line = r.ReadLine()) != null) 
			{
				usr = line.Split('|');
				if((a==usr[1])) 
				{
					listBox2.Items.AddRange(new object[] {usr[0]});
						
				}
			}
			f.Close();

EDIT:Eine Frage ich aber noch
Wie kann ich bestimmte Orte aus der ListBox rausfiltern also das sie nicht mit angezeigt werden?

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Habe das ganz nochmal überprüft
Wenn ich das Array usr ausserhalb der while Schleife aufrufe steht da nur die letzte Zeile drin X(

Warum ist mir auch klar aber ich will ja alle Namen in anderen Methode haben

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Äh Leute so schwer kann das doch nicht sein

Thema: Drucken von Panels
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Wie kann ich ganze Panels ausdrucken lassen??

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Es kommt jetzt kein Fehler mehr aber es läuft nicht so wie ich es will

String auswahl2=listBox1.SelectedItem.ToString(); 
			if((auswahl2==usr[4])) 
			{
				listBox2.Items.AddRange(new object[] {usr[4]});
						
			}
Das Problemist das auswahl2 nicht ==usr[4] weil die Werte aus der Menü-Methode nicht übernommen werden
Wie bekomme ich das den hin??

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

X( X( kann mir hier auch keiner helfen??

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Die Fehlermeldung ist:

Zitat
Eine nicht behandelte Ausnahme des Typs 'System.NullReferenceException' ist in WindowsApplication2.exe aufgetreten.

private void button1_Click(object sender, System.EventArgs e)
		{
			Form2 test=new Form2();
			test.ShowDialog();
			String auswahl2=listBox1.SelectedItem.ToString(); 
			if((auswahl2==usr[4])) 
			{
				listBox2.Items.AddRange(new object[] {usr[4]});
						
			}
		}

War ein kleiner Denkfehler mit dem SelectedItem X(

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Das ist das Problem:

Zitat
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

String auswahl2==listBox1.SelectedItem.ToString(); 
               if(auswahl2==usr[4]) 
               { 
                  listBox2.Items.AddRange(new object[] {usr[1]}); 
                   
               } 
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

Thema: Arbeiten mit Dateien
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

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

public void menuItem2_Click(object sender, System.EventArgs e) 
      { 
          
         FileStream f; 
         StreamReader r; 
         openFileDialog1.FileName="DYN_team"; 
         openFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; 
         openFileDialog1.RestoreDirectory = true ; 
         String line; 
         if(openFileDialog1.ShowDialog()== DialogResult.OK) 
         { 
            f = new FileStream(openFileDialog1.FileName, FileMode.Open); 
            r = new StreamReader(f); 
            while ((line = r.ReadLine()) != null) 
            { 
               usr = line.Split('|'); 
               //if (usr[5] == "1") 
               //{ 
               listBox1.Items.AddRange(new object[] {usr[4]}); 
                
               int auswahl=listBox1.SelectedIndex; 
               String auswahl2==listBox1.SelectedItem.ToString(); 
               if((auswahl2==usr[4])) 
               { 
                  listBox2.Items.AddRange(new object[] {usr[1]}); 
                   
               } 
          
               //} 
            } 
            r.Close(); 
             
             
         } 
      } 


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

Ich komme da einfach nicht weiter