Hallo Leute,
Programmeinstellungen mit My.Settings zu speichern und abzurufen ist eine angenehme Sache. Funktioniert auch einwandfrei.
Jedoch ist bei einer Neuinstallation oder Übersiedlung auf einen anderen Rechner die Wiederherstellung der Einstellungen relativ mühsam. Daher habe ich mir überlegt die My.Settings Funktionen mit einer eigenen Funktion zu ersetzen, welche die Daten aus der My.Settings in einer lokalen Datei abspeichert - und wenn die lokale Datei existiert, nur noch aus dieser heraus arbeitet. Somit kann man einfach EXE-Datei und Settingsdatei in einen anderen Ordner übertragen und von dort mit allen Einstellungen starten.
Ich möche dies mit relativ wenig Programmieraufwand und mit fast keiner Umstellung meiner Programmiergewohnheiten bewerkstelligen.
Ich habe mir folgendes vorgestellt:
1. Alle My.Settings.xxxx Aufrufe werden durch eine eigene "Routine" MYSettings.xxxx ersetzt (Suchen-Ersetzen über den kompletten Quellcode).
2. My.Settings.save wird in MYSettingsSave per Suchen-Ersetzen ersetzt.
Wenn ich nun das erste Mal eine MYSettings Variable abrufe oder setze, dann wird ermittelt ob die lokale INI-Datei schon existiert. Wenn nicht, dann werden alle Elemente von My.Settings geladen und in diese Datei gespeichert. Ab sofort greifen dann alle MySettings Zugriffe direkt auf die INI-Datei zu.
Nun zu meiner eigentlichen Aufgabe, wo ich nicht weiß wie ich das machen kann.
Beispiel:
bisher: My.Settings.Fensterbreite = 600
nachher: MYSettings.Fensterbreite = 600
Wie erstelle ich eine eigene Klasse "MYSettings", die ich dann aber mit der Erweiterung des Wertes "Fensterbreite" ansprechen kann?
Ich habe bisher ausschließlich mit Modulen gearbeitet und von Klassen keine Ahnung.
Eine "statische" Variable wie im Beispiel nützt mir nichts, denn diese sollte bei jedem Aufruf geladen oder gesetzt werden.
Oder bin ich hier schon eher richtig?:
Könnt Ihr mir da weiterhelfen?
Möglicherweise habe ich meine Frage auch nicht eindeutig ausgedrückt - mal sehen. Vielleicht versteht jemand den Österreicher
LG Roland
Programmeinstellungen mit My.Settings zu speichern und abzurufen ist eine angenehme Sache. Funktioniert auch einwandfrei.
Jedoch ist bei einer Neuinstallation oder Übersiedlung auf einen anderen Rechner die Wiederherstellung der Einstellungen relativ mühsam. Daher habe ich mir überlegt die My.Settings Funktionen mit einer eigenen Funktion zu ersetzen, welche die Daten aus der My.Settings in einer lokalen Datei abspeichert - und wenn die lokale Datei existiert, nur noch aus dieser heraus arbeitet. Somit kann man einfach EXE-Datei und Settingsdatei in einen anderen Ordner übertragen und von dort mit allen Einstellungen starten.
Ich möche dies mit relativ wenig Programmieraufwand und mit fast keiner Umstellung meiner Programmiergewohnheiten bewerkstelligen.
Ich habe mir folgendes vorgestellt:
1. Alle My.Settings.xxxx Aufrufe werden durch eine eigene "Routine" MYSettings.xxxx ersetzt (Suchen-Ersetzen über den kompletten Quellcode).
2. My.Settings.save wird in MYSettingsSave per Suchen-Ersetzen ersetzt.
Wenn ich nun das erste Mal eine MYSettings Variable abrufe oder setze, dann wird ermittelt ob die lokale INI-Datei schon existiert. Wenn nicht, dann werden alle Elemente von My.Settings geladen und in diese Datei gespeichert. Ab sofort greifen dann alle MySettings Zugriffe direkt auf die INI-Datei zu.
Nun zu meiner eigentlichen Aufgabe, wo ich nicht weiß wie ich das machen kann.
Beispiel:
bisher: My.Settings.Fensterbreite = 600
nachher: MYSettings.Fensterbreite = 600
Wie erstelle ich eine eigene Klasse "MYSettings", die ich dann aber mit der Erweiterung des Wertes "Fensterbreite" ansprechen kann?
Ich habe bisher ausschließlich mit Modulen gearbeitet und von Klassen keine Ahnung.
Eine "statische" Variable wie im Beispiel nützt mir nichts, denn diese sollte bei jedem Aufruf geladen oder gesetzt werden.
Oder bin ich hier schon eher richtig?:
Könnt Ihr mir da weiterhelfen?
Möglicherweise habe ich meine Frage auch nicht eindeutig ausgedrückt - mal sehen. Vielleicht versteht jemand den Österreicher
LG Roland
Liebe Grüße
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Roland Berghöfer
Meine aktuellen und kostenlos verwendbaren Tools (mit VB.NET erstellt): freeremarkabletools.com | priconman.com | SimpleCalendar | AudibleTouch | BOComponent.com | bonit.at
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „dive26“ ()