Er will sich wohl nicht wirklich helfen lassen. Meine "Anleitung zur Selbsthilfe" interessierte ihn überhaupt nicht, und jetzt ist er mit fanderlfs Vorschlag (falsch übernommen) auch noch hierhin gegangen. Unter diesen Umständen vergeht mir die Lust zu weiterer Hilfe. Jürgen
Announcement
Collapse
No announcement yet.
C# String aus Textdatei auslesen
Collapse
X
-
Ich versteh das Problem nicht.
Natürlich hab ich mir deine Lösung auch angesehen, aber so war es mir etwas leichter, da der Code schon da war. Und ich war der Meinung, ihn ganz gut nachvollziehen zu können.
BTW leider erschließt sich mir der Fehler immer noch nicht?
Im anderen Forum habe ich ebenfalls nach Hilfe gesucht, warum denn auch nicht? Ich bin recht neu in der Programmiersprache und über jede Hilfe sehr dankbar.
Comment
-
fanderlf hat dir die betreffende Zeile gezeigt. Ließ mal nach was ToLower macht dann solltest du verstehen wo das Problem liegt.
Crossposting ist deshalb nicht gern gesehen weil du uns damit beschäftigst dir zu helfen wobei dir in einem anderen Forum schon längst geholfen worden sein könnte. Anstatt dir eventuell also überflüssigerweise zu helfen könnte man in der Zeit jemand anderem helfen. Jemanden wo es wirklich noch hilfreich wäre. Wenn du schon crosspostest solltest du zumindest die Threads verlinken damit man über den Gesamtstand des Problems informiert ist.
Comment
-
Und an der geposteten Zeile liegts nicht, wie in dem anderen Forum gepostet scheint wirklich nur die erste Zeile ausgelesen zu werden. Wenn ich in der Textfile den Programmnamen in die erste Zeile schreibe, funktioniert es.
Comment
-
Habe ich gelesen, habe ich geändert, aber der Fehler ist immer noch da.
Und an der geposteten Zeile liegts nicht, wie in dem anderen Forum gepostet scheint wirklich nur die erste Zeile ausgelesen zu werden. Wenn ich in der Textfile den Programmnamen in die erste Zeile schreibe, funktioniert es.
Code:List<String> Lines = new List<string>(); using (StreamReader sr = new StreamReader(new FileStream(openFileDialog1.FileName, FileMode.Open))) { Lines.Add(sr.ReadLine()); } String ProgramName = ""; foreach (String line2 in Lines) if (line2.ToLower().Contains("programmbezeichnung")) { ProgramName = line2.Remove(0, line2.IndexOf(":") + 2); break; } if (ProgramName != "") textBox4.Text = ProgramName;
EDIT (gleichzeitig gepostet ^^)
Das du nur eine Zeile einließt ist ein weiteres Problem. Das es funktioniert wenn du es in die erste Zeile schreibst bezweifle ich solange du 'programmename' mit 'PROGRAMMNAME' vergleichst.
Comment
-
So, wie es in der SDK-Doku/MSDN steht:
Öffnet eine Textdatei, liest alle Zeilen der Datei in ein Zeichenfolgenarray ein und schließt dann die Datei.
Das Schöne an dieser Methode ist meiner Ansicht nach, dass man eine Zeile braucht, um den Namen der Datei zu registrieren, und eine weitere Zeile für diese Methode. Mit StreamReader ist es viel aufwändiger.
Jürgen
Comment
-
Es ersetzt den ersten using-Block. Es wird nur deshalb eine weitere Befehlszeile benötigt, weil aus dem Array (feste Größe) noch eine List (variable Größe) gemacht werden muss.
Code:string[] contents = File.ReadAllLines(openFileDialog1.FileName); List<String> Lines = new List<string>(contents);
Comment
Comment