C# - Textdatei auslesen, brauche Hilfe

Alexander12

Erfahrenes Mitglied
Hi.

Ich habe doch, wei gesagt, noch eine klitzekleine Frage, und zwar, kann Ich das jetzt zusätzlich noch in einen Array einlesen? Das mit der ListBox klappt super!

MfG Alexander12
 

Alexander12

Erfahrenes Mitglied
Hi.

Jua, das mit dem ArrayList is klar, aber:

Code:
int dtzahl = Convert.ToInt16(textBox.Text);
string daten = arr[dtzahl].ToString(); //Zur Info: arr ist die ArrayList in die ich per .Add() einlese
this.textBox2.Text = daten;

Ich möchte nämlich, das er zu einem bestimmten Datensatz springt, aber das klappt so wohl net...

MfG Alexander12
 

Alexander12

Erfahrenes Mitglied
Ich habe das jetzt Mal mit dem hier probiert:

Code:
string[] str = (string[])arr[dtzahl];

Und dann str in der TextBox ausgeben, aber da kommen nur Fehlermeldungen...

Was soll Ich denn anders machen?

Danke schon mal.

MfG Alexander12
 

Alexander12

Erfahrenes Mitglied
Hi.

Ich habe die Anwendung jetz mal gestartet, wenn dtzahl den Wert 0 hat, dann kommt ein Error:

Code:
Object reference is not set to an instance of an object

Wenn der Wert von dtzahl 1 oder mehr beträgt, dann folgender Error:

Code:
Index was out of rage. Must be non-negative and less than the size of the collection. Parameter name: index.

Es ist wohl besser Ich poste jetzt den gesamten Code - Ist wohl besser als zu jedem Abschnitt eine Frage zu stellen, oder?

Hier der Code:

Code:
ArrayList arr = new ArrayList();
void ButtonClick(object sender, System.EventArgs e)
{
StreamReader Reader = new StreamReader("C:/Adressen.txt");
string Line = String.Empty;	
while ( (Line = Reader.ReadLine()) != null )
this.comboBox.Items.Add(Line);
arr.Add(Reader.ReadLine());//Line.ToString();
	   
void ComboBoxSelectedIndexChanged(object sender, System.EventArgs e)
		{
			string datensatz = comboBox.Text;
			string[] felder;
			felder = datensatz.Split(new Char[] {','});
			name.Text = felder[0];
			vorname.Text = felder[1];
			strasse.Text = felder[2];
			hausnr.Text = felder[3];
			plz.Text = felder[4];
			ort.Text = felder[5];
			
		}
void Button3Click(object sender, System.EventArgs e)
		{
			Close();
		}
		
void Button4Click(object sender, System.EventArgs e)
		{   //Hier müsste eigentlich das problem liegen nehme Ich an...
			int dtzahl = Convert.ToInt16(textBox.Text);
			string[] str = (string[])arr[dtzahl];
			string daten = str[dtzahl];
			this.textBox2.Text = daten;
			this.textBox2.Multiline = true;
			foreach ( string s in arr )
			this.textBox2.Text += s + Environment.NewLine;
			
		}

Also so langsam wird mir das unheimlich...

Die Errors habe Ich ja oben hingeschrieben. :-(

MfG Alexander12
 

Christian Kusmanow

Erfahrenes Mitglied
dann kommt ein Error
OMG

Nicht zu verstehen wie was nicht geht oder noch besser und effizienter gemacht werden kann,
ist ok. Da hilft sicher jeder gerne. Nur Faulheit wird hier im Forum nicht belohnt.
Siehst es ja.....
----------------------
Das Multiline Porperty kannst auch im Designer setzen.
while ( (Line = Reader.ReadLine()) != null )
this.comboBox.Items.Add(Line);
arr.Add(Reader.ReadLine());//Line.ToString();
Was'n das? :rolleyes:

Ich bezeifle desweiteren das Du keine Exceptions kennst.
Es ist ein graus das Du nicht mal weisst, in welcher Zeile der Fehler auftritt.
Im Debugger ist ein Kindespiel herrauszufinden was <undefindes value> ist
und welches Array zu klein initialisiert wurde.
Wir .NET Glücksschweine können froh sein sowas für die Entwicklung zu haben. :)

Arbeite bitte ab sofort mit mit Exceptions und arbeite bitte konzentriert.
Es kann nicht sein das Du dich nach so viel Zeit im Forum hier,
immer noch mit Anfängerfehlern rumschlägst.
Rücke bitte deinen Code der lesbarkeit halber normgerecht ein.
Und das nicht nur bei Methoden. :rolleyes:

Sorry, wenn ich jetzt persönlich geworden sein soll.
Nur hast schon genug Hilfe bezüglich dieser Kleinigkeiten bekommen
und es währe unfair den anderen gegenüber....

Trotzdem LG, cosmo