Entwickler-Ecke

IO, XML und Registry - Formular Einstellungen speichern


Azzidodabass - Fr 21.11.08 18:49
Titel: Formular Einstellungen speichern
Hallo an alle,

möchte in einem Programm ein Formular "Einstellungen" machen, in dem gewisse konstanten für Berechnungen geändert werden können.

Wie kann ich die Änderungen über einen Neustart des Programms hinweg speichern??

In ner Text Datei ablegen, oder gibt es da ne schönere Lösung??

Danke schonmal im voraus


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Fr 21.11.2008 um 18:50


jaenicke - Fr 21.11.08 19:00

Die Registry wäre optimal geeignet, eine XML-Einstellungsdatei in C# ebenfalls üblich, die eher veraltete Variante einer INI-Datei im Anwendungsdatenverzeichnis auch geeignet.

Ich persönlich halte das so, dass bei der Installation gefragt wird, wo die Einstellungen gespeichert werden sollen. Dann lege ich an der entsprechenden Stelle diese an. Zum Beispiel eine INI im eigenen Verzeichnis oder im Anwendungsdatenverzeichnis oder eben den Pfad in der Registry. Beim Start suche ich dann nacheinander an diesen Orten und benutze die Registry für Einstellungen bzw. für Daten das Anwendungsdatenverzeichnis, wenn ich nichts Vorhandenes finde.

Wobei ich selbst eher eigene Formate oder in C# XML statt den alten Standard-INIs verwende, weil die flexibler und kompakter sind, aber das ist Geschmackssache.

Informationen zur Registry in C#:
http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=264&printer=t
Informationen zu XML-Konfigurationsdateien:
http://www.tsql.de/csharp/csharp_appsettingsreader_system_configuration.php
http://msdn.microsoft.com/de-de/library/system.configuration.appsettingsreader(VS.80).aspx
Eine Klasse für die Verwendung der veralteten Standard-INIs:
http://dotnet-snippets.de/dns/c-ini-datei-klasse-SID660.aspx


JüTho - Fr 21.11.08 19:10

Hallo,

unter NET ist die Registry nicht mehr das Mittel der Wahl (ich fand sie schon immer unpraktisch). Das richtige Verfahren sind app.config und user.config. Eine Anleitung gibt es unter [Tutorial]Das neue Konfigurationsmodell im .NET Framework 2.0 [http://www.mycsharp.de/wbb2/thread.php?threadid=6439]. In der SDK-Doku/MSDN sind die Klassen von System.Configuration-Namespace zuständig.

app.config ist eine spezielle xml-Datei mit dem Namen MyApplication.exe.config, die sich meistens im exe-Verzeichnis befindet und allgemein geltende Einstellungen enthält. user.config enthält benutzerspezifische Einstellungen und befindet sich "irgendwo" im Pfad C:\Dokumente und Einstellungen\MyName\Anwendungsdaten.

Jürgen


Azzidodabass - Fr 21.11.08 19:13

Danke für die schnelle Antwort,
werde mir das mal ansehen!!!