Entwickler-Ecke

IO, XML und Registry - Gibt es ein equivalent zu TStream.ReadComponent?


Neidhard von Reuental - Sa 10.06.06 11:22
Titel: Gibt es ein equivalent zu TStream.ReadComponent?
Hi,
wie der Topic bereits sagt würd ich gern wissen ob es ein Equivalent zu TStream.ReadComponent und TStream.WriteComponent gibt. In Delphi habe ich diese Funktionen gern und oft benutzt, es erspaart einem eine menge Arbeit.

Cu
Neidhard


Moderiert von user profile iconChristian S.: Topic aus C# - Die Sprache verschoben am Sa 10.06.2006 um 12:42


Christian S. - Sa 10.06.06 12:42

Hallo!

Die BinaryFormatter-Klasse dürfte genau das bereitstellen, was Du brauchst. Oder wenn Du nur Properties serialisieren willst und das Ergebnis lesen können willst, lohnt sich auch ein Blick auf den XmlSerializer.

Grüße
Christian


Neidhard von Reuental - Sa 10.06.06 14:01

Hab mir eben BinaryFormatter angesehen und getestet. Leider funktioniert das ganze nur mit Serialisierbaren Objekten (Arrays,Listen,...)
Der Funktion TStream.WriteComponent kann man z.b. eine Form übergeben und dann werden ALLE Eigenschaften und alle enthaltenen Objekte, deren Eigenschaften und wieder deren Unterobjekte in den Stream geschrieben. Genau so einfach geht das Wiederherstellen.

Ich schau mich mal weiter um.


Neidhard von Reuental - So 11.06.06 06:27

Habe nun den BinaryFormatter genommen und mir dazu eine eigene serialisierbare Klasse erstellt in der ich die nötigsten Einstellungen speicher.

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
        [Serializable]
        public sealed class Settings
        {
            public string Titlepicture;
            public string Copyright;
            public string URL;
            public string Backgroundimage;
            public string Backgroundmusic;
            public string Description;
            public int BVolume;
            public int VVolume;
            public Color Color;
            public Image Icon;
            public string [][] Filelist;
        }