Datei als Programeinstellungen

Tualex

Erfahrenes Mitglied
Hallo,
bin recht neu in Visual Basic.

Folgendes Problem:
Wie kann ich Einstellungen, die ich im Programm gemacht habe in einer Datei speichern lassen, und diese beim nächsten Start wieder laden lassen?

Beispiel:
Ich habe eine TextBox in der ich einen Pfad angebe, dieser soll gespeichert werden und wenn ich das Programm das nächste mal öffne soll dieser Pfad wieder in dieser TextBox stehen. In dieser Datei sollen aber auch noch andere Einstellungen gespeichert werden.
 
Da bieten sich 2 Wege an:

1) Die Registry (Da gehört sowas meiner Meinung nach auch hin): Siehe hierzu die VB-Befehle "GetSetting" und "SaveSetting"
2) INI-Datei: Siehe hierzu die API's "WritePrivateProfileString" und "GetPrivateProfileString"
 
1) Die Registry (Da gehört sowas meiner Meinung nach auch hin):

Zvoni, da bin ich nur bedingt Deiner Meinung. Meiner Meinung nach wird die Registry ohnehin viel zu oft zu gemüllt, was zu einem im Laufe seines Lebens immer langsameren und manchmal auch instabileren System führt. Und beim De-Installieren eines Programms werden diese Reste in der Regel auch nicht entsorgt.

Ich denke, man sollte bei der Konzeption unterscheiden, ob bestimmte Einstellungen wirklich dauerhaft gespeichert werden sollen, dann ist die Registry ein guter Weg. Die Registry ist auch sinnvoll für alle Einstellungen, an die der normale Benutzer nicht rankommen soll.

Ansonsten sind Ini-Dateien durchaus sinnvoll, da man diese einfach wieder löschen kann (ohne sich durch die Registry zu wühlen), da man diese auch gegebenenfalls einfach portieren kann, und gerade beim Testen auch einfacher mit Einstellungen experimentieren kann.

Aber ich glaube, diese Diskussion hatten wir schon mal, oder?

Grüsse
ronaldh
 
Ich denke, man sollte bei der Konzeption unterscheiden, ob bestimmte Einstellungen wirklich dauerhaft gespeichert werden sollen, dann ist die Registry ein guter Weg. Die Registry ist auch sinnvoll für alle Einstellungen, an die der normale Benutzer nicht rankommen soll.

Und hier wieder wage ich jetzt einmal sanft zu widersprechen. :) Solche von dir angesprochenen Einstellungen werden dann nämlich normal unter HKEY_LOCAL_MACHINE abgelegt und das versuch mal mit einem eingeschränkten Benutzeraccount (unter Windows) zu manipulieren. So wie ich es kennengelernt habe, musst du dann die Zugriffsrechte verbiegen ohne Ende, um die Einträge zu ändern oder gleich mit einem Windows Adminaccount unterwegs sein.

Ich bin dazu übergegangen, solche Einstellungen in lokalen Profildateien (.ini-Dateien) oder Konfigurationsdateien zu speichern. Dadurch lassen sich auch Programmeinstellungen leichter von einem Rechner auf den anderen übertragen.
 
Genau das meine ich ja eigentlich. Es ist durchaus sinnvoll, dass für die Software-Installation selbst Administratorrechte benötigt werden, da werden dann diese Grundeinstellungen gesetzt (und sind dann auch durch Speicherung in der Registrierung geschützt). Einstellungen, die der Anwender selbst immer wieder ändern kann, gehören eben nicht in die Registrierung, sondern in Ini-Dateien, oder auch, was häufig schneller ist, in Datenbanken.

Grüsse
ronaldh
 
Jupp, diese Diskussion hatten wir schonmal.

Frage: Wieso sollen solche Einträge in der Reg unter Local_Machine sein? Current_User bietet sich da eher an, da in diesem Fall auch Mehrbenutzer-Umgebungen berücksichtigt werden (Ausnahme: Einstellungen, die für die Maschine gelten sollen, und nicht für den User)

Der Grund, warum ich eher für Reg und gegen INI tendiere (was nicht bedeutet, dass ich INI's nicht nutze), ist dass INI eigentlich ein Überbleibsel aus Win3.1-Zeiten (16-Bit) ist.

BTW: Was das De-Installieren angeht, bieten moderne Setup-Tools durchaus die Möglichkeit entsprechende Schlüssel in der Reg anzulegen, welche dann beim De-Install gelöscht werden.

Natürlich hast du recht, dass bei einem schlampigen Setup, Schlüssel-Leichen die Reg zustopfen, die man dann manuell entfernen muss.
 
Danke für die schnellen Antworten!
Mir reiche eine .ini Datei völlig aus da das Programm warscheinlich nur auf meinem Rechner laufen wird. Veröffentlichen werde ich es nicht, möchte nur meine Einstellungen speichern.
Welche Befehle brauche ich dann dafür?
 

Neue Beiträge

Zurück