Entwickler-Ecke

IO, XML und Registry - StreamWriter: Werte in einem Textdokument schreiben


bZzR - Fr 14.10.11 18:15
Titel: StreamWriter: Werte in einem Textdokument schreiben
Hallo :)

Ich möchte gerne eingelesene Werte in einem Textdokument schreiben.


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
StreamWriter myWriter = new StreamWriter(@"C:\Wetterstation_Aufzeichnung.txt");

myWriter.WriteLine(DateTime.Now + "    Luftdruck           = " + strings[0] + " hPa");
myWriter.WriteLine(DateTime.Now + "    Temperatur          = " + strings[1] + " C°");
myWriter.WriteLine(DateTime.Now + "    Luftfeuchtigkeit    = " + strings[2] + " %");

myWriter.Close();

Dies geschieht auch Zeilenweise so wie es sein soll. Nur es werden immmer nur diese drei Werte eingeschrieben und überschrieben
Wahrscheinlich weil ich den Streamwriter immer wieder neu erstelle..

Wenn ich aber nun den Streamwriter zB in Form1_Load erstelle kommt der fehler Der Name "myWriter" ist im aktuellen Kontext nicht vorhanden.
oder in einer if-Schleife einmal abrufe....

Vielen Dank

Moderiert von user profile iconChristian S.: Topic aus Basistechnologien verschoben am Fr 14.10.2011 um 19:45
Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.


pdelvo - Fr 14.10.11 19:41

Warum nutzt du nicht die Überladung des Konstruktors von StreamWriter, bei dem man angeben kann, ob der text überschrieben oder angefügt werden soll?

Achja und das: http://if-schleife.de/


daeve - Fr 14.10.11 21:25


C#-Quelltext
1:
2:
StreamWriter myWriter = new StreamWriter(@"C:\Wetterstation_Aufzeichnung.txt"true);
//so hängst du den Text dran und überschreibst nichts


Wenn du ein neues File willst, dann gib das Datum mit oder die Zeit als Filename,


bZzR - Sa 15.10.11 10:38

wiiie gut! ein kleines "true" .. danke

und ja wollte gern nur das datum mit im filenamen drin haben und das er halt nur am anderen tag nen neues file erstellt ;) .. das versuch ich nun mal noch :)


wenns klappt poste ich mal den code..so zur vevollständigung

wenns nicht klappt meld ich mich :D



schon mal danke danke


bZzR - Sa 15.10.11 16:26

habs datum hinzugefügt bekommen gerade eben ^^


bZzR - Mo 17.10.11 11:52

Meine Lösung, falls Intresse besteht.
Streamriter schreibt zeilenweise in ein Textdoukemt und XML-Dokument und erstellt automatisch neue Dateien nach Datumwechsel




C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
             //--------------------------------------------------------
                // gesplittete Werte den Textboxen zuweisen
                //--------------------------------------------------------

                textBoxPressure.Text = strings[0];
                textBoxTemp.Text = strings[1];
                textBoxHumidity.Text = strings[2];


                //--------------------------------------------------------
                // Aufzeichnung im Textdokument und XML-Dokunent
                //--------------------------------------------------------

                StreamWriter myWriterXML = new StreamWriter(@"C:\Wetterstation_Aufzeichnung_" + DateTime.Now.ToShortDateString() + ".txt"true);
                myWriterXML.WriteLine(DateTime.Now + "    Luftdruck           = " + strings[0] + " hPa");
                myWriterXML.WriteLine(DateTime.Now + "    Temperatur          = " + strings[1] + " C°");
                myWriterXML.WriteLine(DateTime.Now + "    Luftfeuchtigkeit    = " + strings[2] + " %");
                myWriterXML.Close();



                StreamWriter myWriterTXT = new StreamWriter(@"C:\Wetterstation_Aufzeichnung_" + DateTime.Now.ToShortDateString() + ".xml"true);
                myWriterTXT.WriteLine(DateTime.Now + "    Luftdruck           = " + strings[0] + " hPa");
                myWriterTXT.WriteLine(DateTime.Now + "    Temperatur          = " + strings[1] + " C°");
                myWriterTXT.WriteLine(DateTime.Now + "    Luftfeuchtigkeit    = " + strings[2] + " %");
                myWriterTXT.Close();


daeve - Mo 17.10.11 11:58

okey, super dann ist dein Problem ja gelöst ;)