Ausgabe in Datei
-
Hi leute möchte gerne eine Arraylist und ein komplettes Klassenobject in eine Datei schreiben. Kann mir einer von euch mal mit nen Befehl helfen mit dem ich die ausgabe in die Datei machen kann.
MfG
blind
-
Du kannst deine Klassen das Interface ISerializable implementieren lassen:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemruntimeserializationiserializableclasstopic.aspIn wiefern es ein Serialize() im ArrayList implementiert ist, kann ich nicht sagen. Da machst du dich am besten selbst mal schlau.
Falls es nicht implementiert ist, bleibt es dir überlassen, durch alle Elemente in der ArrayList zu gehen und diese einzelnen in die Datei zu schreiben.
-
schön und gut ist dein link aber kannst du mir bitte mal kurz ein codebeispiel die ausgabe eines double[10] arrays in eine datei geben das würde mir sehr viel mehr helfen.
blind
-
Servus,
ein paar Threads weiter unten:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-149492.html
Er hat XmlSerializer verwendet. Das dürfte für deine Ansprüche langen.
mfg
Hellsgore
-
Jo danke der link hat mir echt weiter geholfen.
Habe jetzt folgenden Code:
public void datenPhysikalischSpeichern(ref parameter param) { try { XmlSerializer xmls1 = new XmlSerializer(typeof(parameter)); XmlSerializer xmls2 = new XmlSerializer(typeof(ArrayList)); XmlTextWriter xmlw1 = new XmlTextWriter(parameter.file, System.Text.Encoding.ASCII); xmls1.Serialize(xmlw1, param); xmls2.Serialize(xmlw1, rohdaten); xmls2.Serialize(xmlw1, messwerte); xmlw1.Close(); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } } public void ladePhysikalischeDaten(ref parameter param) {try { XmlSerializer xmls1 = new XmlSerializer(typeof(parameter)); XmlSerializer xmls2 = new XmlSerializer(typeof(ArrayList)); XmlTextReader xmlw1 = new XmlTextReader("C:\\file", System.Text.Decoder); xmls1.Serialize(xmlw1, param); xmls2.Serialize(xmlw1, rohdaten); xmls2.Serialize(xmlw1, messwerte); xmlw1.Close(); } catch (System.Exception ex) { Console.WriteLine(ex.Message); } }
habe jetzt nur noch das Problem das ich mit der ladePysikalischeDaten() die Daten aus dem File lesen muss.
Habe aber die folgenden fehler:
Fehler 2 "System.Text.Decoder" ist "Typ" und im angegebenen Kontext nicht gültig. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 127 81 Speicherklasse
Fehler 3 Die beste Übereinstimmung für die überladene System.Xml.Serialization.XmlSerializer.Serialize(object, System.Xml.Serialization.XmlSerializationWriter)-Methode hat einige ungültige Argumente. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 128 17 Speicherklasse
Fehler 4 2-Argument: kann nicht von "Speicherklasse.parameter" in "System.Xml.Serialization.XmlSerializationWriter" konvertiert werden. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 128 40 Speicherklasse
Fehler 5 Die beste Übereinstimmung für die überladene System.Xml.Serialization.XmlSerializer.Serialize(object, System.Xml.Serialization.XmlSerializationWriter)-Methode hat einige ungültige Argumente. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 129 17 Speicherklasse
Fehler 6 2-Argument: kann nicht von "System.Collections.ArrayList" in "System.Xml.Serialization.XmlSerializationWriter" konvertiert werden. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 129 40 Speicherklasse
Fehler 7 Die beste Übereinstimmung für die überladene System.Xml.Serialization.XmlSerializer.Serialize(object, System.Xml.Serialization.XmlSerializationWriter)-Methode hat einige ungültige Argumente. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 130 17 Speicherklasse
Fehler 8 2-Argument: kann nicht von "System.Collections.ArrayList" in "System.Xml.Serialization.XmlSerializationWriter" konvertiert werden. D:\Server neue strucktur\Speicherklasse\Speicherklasse\Program.cs 130 40 SpeicherklasseWas ich noch sagen möchte ist das ich das erste mal mit XML arbeite.
Danke schonmal für die Hilfe
blind