Announcement

Collapse
No announcement yet.

C# String aus Textdatei auslesen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    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

    Comment


    • #17
      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


      • #18
        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


        • #19
          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


          • #20
            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.
            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


            • #21
              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.
              Weil ich den Code bereits korrigiert hatte, bevor ich die Textdatei geändert hatte.

              Comment


              • #22
                So, funzt jetzt, habs mit File.ReadAllLines gemacht.

                Danke für eure Hilfe!

                Comment


                • #23
                  ok, das mit nur einer Zeile einlesen war mein Fehler.

                  File.ReadAllLines() hilft da natürlich

                  war mir aber auch neu... an dieser Stelle hät ich nie nach einer Funktion gesucht die mir ein File ausliest *g*

                  Comment


                  • #24
                    und wo setz ich dann dieses " File.ReadAllLines() " ein?
                    seh da irgendwie noch nich so durch :-(
                    vielen dank im voraus
                    Zuletzt editiert von nonbody; 09.06.2009, 10:05.

                    Comment


                    • #25
                      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.
                      Soll heißen: Wenn du eine Textdatei hast, den gesamten Text einlesen willst und es sinnvoll ist, es zeilenweise im Arbeitsspeicher in einem String-Array zu verarbeiten, dann benutze es, und zwar so, wie es im Beispiel dazu angegeben ist.

                      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


                      • #26
                        so in etwa habe ich es auch verstanden.
                        nur wie würde man das in den code von exorutus einbauen?

                        Comment


                        • #27
                          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);
                          Jürgen

                          Comment


                          • #28
                            ahhh ok! vielen dank!

                            Comment

                            Working...
                            X