Laden...

Variablen in (XML) Datei speichern

Erstellt von Dionysios vor 10 Jahren Letzter Beitrag vor 10 Jahren 4.168 Views
Thema geschlossen
D
Dionysios Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren
Variablen in (XML) Datei speichern

Hallo,

ich suche mir seit gestern Nachmittag einen Wolf nach der Lösung dieses - mit Sicherheit - ganz einfachen Themas:

Ich habe ein Programm (win Form) für ein paar Berechnungen geschrieben. Dabei muss man etwa 20 Felder (TextBoxen) mit Strings und Zahlenwerten füllen, auf Knopfdruck wird dann etwas berechnet. Diese Variablen sollen nun in einer Datei gespeichert werden, damit man diese bei Programmstart wieder zur Verfügung hat.

string tb1, tb2, tb3... ;
decimal p1, p2, p3... ;

Das wäre die "einfache" Variante. Eine Datenbank möchte ich vermeiden.

Nun hat meine Windows Form ein mainMenue. Schön wäre, wenn man unterschiedliche Szenarien (Werte) in jeweils einer Extradatei ablegen könnte. Ich habe dazu ein Menüeintrag Datei --> Speichern angelegt.

Kann mir jemand auf die Sprünge helfen? Gibt es vielleicht ein simples Beispiel?

Vielen Dank schonmal.

Dio

PS: Ja ich habe gegoogled, nach "C# xml datei erzeugen / schreiben / erstellen, variablen in xml, usw..." ohne das Problem damit lösen zu können.

D
Dionysios Themenstarter:in
5 Beiträge seit 2013
vor 10 Jahren

Ich bin gerade auf das Thema "Konfigurationsdatei" gestoßen.

http://openbook.galileocomputing.de/visual_csharp_2010/visual_csharp_2010_15_003.htm

Ist das ein Ansatz???

EDIT:

Ich habe die erste Lösung mit dem o.g. Link hinbekommen, kann aber so nur 1 Datensatz speichern. Schöner wäre ja, man könnte mehrere Varianten speichern...

J
1.114 Beiträge seit 2007
vor 10 Jahren

auf Knopfdruck wird dann etwas berechnet.

Geht das etwas genauer? Was berechnest du gerne genau. Inwiefern stehen Wohnung 1 + 2 mit dem von dir vorgesehenen Kostenfelder zusammer. Wasserverbrauch, Gas usw. sind doch sicherlich wohnungsabhängig. Da kannst doch, nach meinem Verständnis, dafür nicht ein gemeinsames Feld verwenden.

Aber generell würde ich mir eine Kosten-Klasse bauen, mit den Eigenschaften Name, Cost und Interval. Hast du dann mehrere Kosten (wie Gas, Wasser etc.), einfach nur mehrere Instanzen der Kostenklasse in einer Liste ablegen.

Daneben gäbe es eine Wohnung Klasse mit Name, Personen, Fläche, und eben einer List<Kosten> Referenz.

Speichern kanns du z.B. einfach die Wohnung Klasse indem du sie serialisierst. Kuck dir hierzu mal die generische XmlSerializer Klasse an.

Berechnungen würde ich komplett in einer getrennten Klasse auslageren, die als Parameter wahrscheinlich die Wohnung Klasse benötigen wird.

16.842 Beiträge seit 2008
vor 10 Jahren

Also im Prinzip sind das absolute Grundlagen; daher ist auch zu.

Die Lösung ist nichts anderes als eine Klasse zu erstellen, die die Kosten repräsentieren.

public class Jahreskosten
{
   public Int32 Jahr {get;set;}
   public Double Kaltwasser {get;set;}
}

Und dann noch eine Klasse, die zur Serialisierung einer XML dient.

[Serializable]
public class JahreskostenCollection
{
   public List<Jahreskosten> Jahreskosten {get;set;}
}

Und damit wäre der ganze Zauber auch schon erledigt.

Thema geschlossen