Autor Beitrag
exorutus
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 06.04.09 13:56 
Hallo, ich bin C#-Anfänger und habe ein kleines Problem:

Es soll aus einer Textdatei ein String ausgelesen werden.
Die Textdatei ist folgendermaßen aufgebaut:


;-----------------------------------------------------------------
; FIRMA : FIRMA XYZ
; PROJEKT : Schrank ABC
; PROGRAMMNAME : 025x_0x_01x_AAA
......usw......


Jetzt soll über ein Button diese Textdatei durchsucht werden nach der Programmname und in ein Textfeld soll dann "025x_0x_01x_AAA" übertragen werden.

Das Öffnen der Datei funktioniert bereits soweit, blos das Durchsuchen und Einfügen noch nicht.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
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 linee in Lines)
                    if (linee.ToLower().Contains("PROGRAMMNAME"))
                    {
                        ProgramName = linee.Remove(0, linee.IndexOf(":") + 2);
                        break;
                    }

                if (ProgramName != "")
                    textBox4.Text = ProgramName;

                else textBox4.Text = "ERROR!";


In textBox 4 bekomme ich ein "ERROR!" angezeigt, obwohl in der Textdatei 100% "PROGRAMMNAME" auftraucht wie im Beispiel gepostet.



Hoffe, ihr könnt mir helfen

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mo 06.04.09 14:05 
user profile iconexorutus hat folgendes geschrieben Zum zitierten Posting springen:
ausblenden C#-Quelltext
1:
2:
3:
4:
               using (StreamReader sr = new StreamReader(new FileStream(openFileDialog1.FileName, FileMode.Open)))
                {
                    Lines.Add(sr.ReadLine());
                }


-> du liest nur die erste Zeile ein.
Benutze doch einfach die System.IO.File Klasse.
Da gibt es direkt eine ReadAllLines Methode.

Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 06.04.09 14:23 
Schade, er will sich nicht wirklich helfen lassen. Hier hat er zwei konkrete Vorschläge und eine Anleitung zur Selbsthilfe bekommen. Tatsächlich hat er einen der konkreten Vorschläge falsch übernommen und wundert sich darüber, dass es nicht klappt. Ich habe unter diesen Umständen keine Lust zu weiterer Hilfe. Jürgen
exorutus Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 06.04.09 14:50 
Natürlich will ich mir helfen lassen, rede keinen Mist und spiel bitte nicht den Beleidigten, was soll das denn jetzt.
Der Vorschlag des anderen Forenteilnehmers war mir aufgrund des geposteten Codes verständlicher und ich bin der Meinung, den Code auch verstanden zu haben.

Ein wenig Verständnis für jemanden, der sich noch nicht so gut mit der Sprache, darf ja wohl angebracht sein.
Und je mehr Hilfe man bekommt umso besser, also warum nicht in einem zweiten Forum danach fragen?
bakachan
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 503
Erhaltene Danke: 34

W7 (x64) Ultimate
C# / VB.NET (VS2010 Ultimate)
BeitragVerfasst: Mo 06.04.09 15:01 
Wenn du in einem zweiten oder dritten Forum wegen dem gleichen Problem fragst (falls das in dem entsprechenden Forum erlaubt ist, bei manchen ist sowas verboten) wäre es zumindest nett auf deinen Beitrag in anderen Foren zu verlinken damit man schon gegebene vorschläge nciht wiederholt und besser helfen kann.

Undwegen deinem Fehler habe ich dir ja oben den Grund genannt.
(man kann ja auch schrittweise durchdebuggen udn schaun was in welchen variablen steht, da erkennt man oft schon den Fehler)
exorutus Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mo 06.04.09 15:08 
Alles klar. Mit ReadAllLines funktioniert es nun.

Danke für eure Hilfe!
JüTho
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2021
Erhaltene Danke: 6

Win XP Prof
C# 2.0 (#D für NET 2.0, dazu Firebird); früher Delphi 5 und Delphi 2005 Pro
BeitragVerfasst: Mo 06.04.09 15:41 
user profile iconexorutus hat folgendes geschrieben Zum zitierten Posting springen:
Alles klar. Mit ReadAllLines funktioniert es nun.

Freut mich für dich; das war auch mein allererster Vorschlag. Aber jeder wie er will. Jürgen