kostenloser Webspace werbefrei: lima-city


Dauerhaftes speichern von Parametern in C#, ohne Extra-Datei

lima-cityForumProgrammiersprachenProgrammieren mit .NET & Mono

  1. Autor dieses Themas

    malancrav

    malancrav hat kostenlosen Webspace.

    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?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. C# hat nix mit C/C++/D zu tun. Verschoben ins .NET Forum

    Wenn du unter Windows bist, bietet es sich an, einen Wert in der Registry abzulegen. Wie man das genau macht, kann ich dir nicht sagen, da ich nicht unter Windows programmiere.
  4. 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.
  5. m**********n

    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?
  6. 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).
  7. 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
    Properties.Settings.Default
    kannst du aus deinem Programm heraus auf deine Variablen zugreifen.

    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
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!