Dauerhaftes speichern von Parametern in C#, ohne Extra-Datei
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
benutzen
code
datei
datenspeicher
datum
einzelnen setting
extra datei
festlegen
http
nachholen
parameter
programm
projekt
setting
solution
speichern
url
variablen zugreifen
windows
zweck
-
Hi,
ich programmiere zur Zeit C#. Und in nem Programm möchte ich Parameter verändern und dauerhaft speichern (so das sie nach einem Neustart des Programms immer noch verfügbar sind).
Normalerweise würde ich dies mit einer Extra-Datei machen in der ich diesen Parameter speichere und dann nach Programmstart wieder auslese.
Nun meine Frage: Kann ich das ganze auch ohne Extra-Datei machen? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Eine andere Möglichkeit wären noch die Windows Umgebungsvariablen. Da kommt man aber auch über die Registry dran. Zum Abfragen muss man sich dann jedoch nicht mit der Registry beschäftigen. Sonst kann man wie bladehunter schon sagte immer auf die Registry zugreifen.
-
Ich würde schon eine Datei in %appdata% anlegen, da dass am sinnvollsten ist. Das ganze auf die Registry auszulagern ist idiotisch, da diese nicht zu diesem Zweck gedacht ist. Warum willst du deine Datei denn nicht aufm Dateisystem ablegen?
-
Das .NET Framework stellt XML-basierte Konfigurationsdateien zur Verfügung (http://geekswithblogs.net/akraus1/articles/64871.aspx), welche genau diesem Zweck dienen. Sollte es sich jedoch um binäre Parameter oder generell größere Daten handeln, würde ich dem Tipp mit dem %appdata%-Verzeichnis folgen. Die Registry empfinde ich als unübersichtlich und veraltet, weshalb ich sie in deinem Fall nicht benutzen würde. Zuletzt weise ich noch auf INI-Dateien (http://dotnet-snippets.com/dns/c-read-and-write-ini-files-SID574.aspx) hin, welche zu 16-Bit Zeiten als Datenspeicher dienten. Eine bekannte aktuelle Software, die INI-Dateien benutzt, ist die Anwendung PHP (php.net).
-
Wenn es sich um geringe Datenmenge wie Strings oder z.B. Werte für Fensterpositionen handelt, bietet sich das Speichern als Setting an. Klicke einfach im Solution-Explorer auf die Properties zu deinem Projekt. Wähle dann den Reiter Settings.
Je nach Projekt-Typ ist bereits eine Settings-Datei angelegt worden, ansonsten kannst du das hier nachholen.
Du kannst dann in die Tabelle deine einzelnen Setting-Variablen eintragen und auch einen Startwert festlegen.
Als Scope solltest du user festlegen, damit dein Programm die Variablen zur Laufzeit ändern kann.
Über
kannst du aus deinem Programm heraus auf deine Variablen zugreifen.Properties.Settings.Default
z.B.Properties.Settings.Default.MeinTextSetting = "abc";
veränderst du die Variablen, musst du hinterher unbedingt
Properties.Settings.Default.Save();
ausführen.
Ist eigentlich die simpelste Methode Daten persistent zu Speichern, da die gesamte Verwaltung vom System übernommen wird.
Ausserdem muss man die doofe und veraltete Registry nicht benutzen.
Mehr infos gibts hier
http://msdn.microsoft.com/query/dev10.query?appId=Dev10IDEF1&l=EN-US&k=k(APPLICATIONSETTINGSOVERVIEW);k(TargetFrameworkMoniker-%22.NETFRAMEWORK%2cVERSION%3dV4.0%22)&rd=true
und hier
http://msdn.microsoft.com/en-us/library/a65txexh.aspx?appId=Dev10IDEF1&l=EN-US&k=k(APPLICATIONSETTINGSOVERVIEW);k(TargetFrameworkMoniker-%22.NETFRAMEWORK&k=VERSION=V4.0%22)&rd=true -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage