arrayhunter Geschrieben 8. März 2005 Teilen Geschrieben 8. März 2005 hallo, wie speichert ihr in C# eure Programmeinstellungen ? in der AppSettings kann ic h ja nichts reinschreiben, also hab ich gedacht in einer eigenen Config.xml die Daten eintragen... wie kann ich zum Bsp. einen String in jedem Form meiner Anwendung aufrufen bzw. ändern ? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 9. März 2005 Teilen Geschrieben 9. März 2005 Da gibts mehrere Möglichkeiten: Man kann z.B. eine Klasse bauen, die statisch alle Programmeinstellungen speichert und über statische Properties den Zugriff bietet. Wenn du die Daten über die Laufzeit des Programms hinaus speichern möchtest, bietet sich bei Windows-Systemen die Registry an (Microsoft.Win32.RegistryKey-Klasse), allerdings ist dein Ansatz mit der XML-Datei auch nicht verachtenswert. Allein, ich würde Daten, die während der Laufzeit oft gelesen/geschrieben werden, nicht nur in einer Datei/Registry halten, da man sonst unnötige und bremsende Zugriffe hat, sondern jene vielmehr, wie oben erwähnt, im Arbeitsspeicher halten und nur bei Programmbeginn und -ende/-abbruch fest schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HuDeanY Geschrieben 9. März 2005 Teilen Geschrieben 9. März 2005 Dem kann ich nur beipflichten. Speziell die speicherung in der Win-32 Registry geht dabei auch sehr komfortabel und einfach (2-Zeiler), ebenso wie das auslesen. Wenn du das Auslesen aller Infos dann noch in eine Programmweite Info-Klasse machst die die Daten über statische Attribute nach aussen darstellt hast du in deinem restlichen Programm einen echt schnellen, sauberen, sicheren und vorallem einfach zu wartenden zugriff. Ich speziell hab auch noch das erstellen von registry-Pfaden und prüfen auf versionen etc in diese Info-KLasse gepackt und mein restliches programm damit wesentlich übersichtlicher gemacht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigredeyes Geschrieben 9. März 2005 Teilen Geschrieben 9. März 2005 Ich speziell hab auch noch das erstellen von registry-Pfaden und prüfen auf versionen etc in diese Info-KLasse gepackt und mein restliches programm damit wesentlich übersichtlicher gemacht. jo, so macht man das. man kann die klasse dann auch in anderen programmen verwenden und die klasse so ausbauen, dass bei ggf. fehlenden einträgen ein wizard startet in den der user dann seine daten schreibt. ideal bei rechnern mit mehreren benutzern. einmal instelliert kann jeder user seine eigene konfig haben. bigredeyes Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Antibiotik Geschrieben 9. März 2005 Teilen Geschrieben 9. März 2005 hallo, hierfür habe ich eine klasse geschrieben welche eine config.xml ausliest. in dieser klasse sind natürlich auch sachen drin, wie datei anlegen, knoten anlegen, schreiben ... Ciao Antibiotik Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HuDeanY Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Im Endeffekt ist die Registry ja auch nichts anderes als eine "groooooße" XML Configdatei. Nur dass du dir die ganze Ausleserei halt wesentlich einfacher machst .... uuuund ... du kannst allgemeingültige teile und teile die user-spezifisch sind soar gemeinsam reinpacken in eine!! datei und kein anderer kann drauf zugreiffen (versuch das mal mit deiner xml) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Antibiotik Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 hallo, dein vorschlag ist mit sicherheit auch eine gute lösung. für unsere anforderung reicht die xml datei voll aus und deshalb lassen wir die registry in ruhe ;-). Ciao Antibiotik Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LordK Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Also ich hab das bei einem Programm von mir so gelöst, dass ich eine Options Klasse geschrieben habe, die alle Daten für das Programm beinhaltet, so dass sie zur Laufzeit immer schnell im Zugriff sind. Dann habe ich von mentalis.org den IniReader bei mir eingebunden, mit dem die Daten von der Options Klasse dann beim Programmstart eingelesen werden und beim Speichern der Options in die Inifile zurückgeschrieben werden. Der IniReader ist echt nützlich, da sie auch die Option bietet Default Werte zu laden, wenn die IniFile oder ein Eintrag darin nicht gefunden wird. Gruß LordK Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arrayhunter Geschrieben 10. März 2005 Autor Teilen Geschrieben 10. März 2005 danke für eure Antworten... ich habe mir das Isolated Storage ausgesucht, um meine Benutzerdaten zu speichern , in welcher dann die Daten serialisiert und verschlüsselt werden sollen. die frage ist nur noch, ob ich die Settings in Properties halten soll oder lieber in static members und wie soll ich am optimalsten meine Settingsklasse schreiben ? bei Properties habe ich die Befürchtung, dass es irgendwann recht unübersichtlich wird , zumindest bei sehr vielen UserSettings ( z. Zt. ca. 25 Variablen), und die dann von Form zu Form mitzuschleppen, empfinde ich doch als recht mühsam. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kLeiner_HobBes Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Was meinst du mit "von Form zu Form mitschleppen". Ich würde es mit public static <Property> machen, wer weiß, ob du nicht noch ne Validierung einbauen willst, die z.B. bei einer Einstellung nur bestimmte Werte zuläßt. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
arrayhunter Geschrieben 10. März 2005 Autor Teilen Geschrieben 10. März 2005 ok, wahrscheinlich brauche ich noch etwas Hilfe: class Settings { private static string connString; public string ConnString { get { // Connectionstring aus xml holen } set { //als xml in Config schreiben } } } // Formular // in Main der Form // String aus xml holen SqlConnection conn = Settings.ConnString // bzw. // setzen und speichern Settings.connString = "local...."; Connection selber setzen wäre das Korrekt ? habe jetzt leider kein VS.NET auf dem Notebook und kann es leider nicht testen... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
LordK Geschrieben 10. März 2005 Teilen Geschrieben 10. März 2005 Wenn ich mich nicht irre müsste es sorum sein: private string connString; public static string ConnString { get { // Connectionstring aus xml holen } set { //als xml in Config schreiben } } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.