Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Wie verwaltet Ihr Anwendungseinstellungen? (https://www.delphipraxis.net/157889-wie-verwaltet-ihr-anwendungseinstellungen.html)

scrat1979 28. Jan 2011 12:24

Wie verwaltet Ihr Anwendungseinstellungen?
 
Hallo zusammen,

ich habe mal eine kleine Frage, bevor ich mir zu viel Arbeit mache. Ich habe - wie die meisten hier :) - ein Programm geschrieben. Nun möchte ich einige Dinge den Benutzer einstellen lassen (e-Mail Adresse, Farben [nicht die GUI, sondern Markierungen in einem Grid], sonstige Dinge).

Meine generelle Frage wäre, wie löst ihr das - also mit dem Programmeinstellungen? ich würde mir eine Klasse TAppSettings o.ä. schreiben und hier die ganzen Einstellungen verwalten. Natürlich würde auch die Klasse das Speichern (Registry oder INI oder wo auch immer) übernehmen. Generell muss ich sagen, scheint es doch einiges an Aufwand zu sein (bei ca. 20-30 Einstellungen lokale Variable, Getter, Setter und property...), deshalb die Frage ob Ihr das auch bei Euch so löst bzw. lösen würdet! WO man die Einstellungen dann speichert, soll erst einmal sekundär sein. Da gehen die Meinungen ja sehr auseinander :P

Für Vorschläge Besten Dank!

SirThornberry 28. Jan 2011 12:29

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Ich mache es ebenso. Getter und Setter brauchst du gar nicht. Denn eigentlich legt man einfach nur die Daten in der Klasse ab und ruft zu geeigneter Zeit LoadFromFile/LoadFromStream/... etc. auf.

Sherlock 28. Jan 2011 12:30

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Wir speichern Anwendungseinstellungen an unterschiedlichen Stellen. Die gute alte Ini-Datei ist eigentlich immer noch hervorragend für anwenderspezifische Dinge geeignet (im korrekten Pfad natürlich). Einstelungen, die den gesamten Standort betreffen werden in der Datenbank abgelegt.

Das ganze wird in einen "Konfigurationsobjekt" verwaltet, wo die jeweiligen Getter und Setter mit der Zeit dazugekommen sind. Ist aufwändig aber sauber.

Registryeinträge vermeide ich bewusst. Den Sumpf tu ich mir nicht an. Am Ende vergess ich noch was da wieder rauszulöschen, und reihe mich in die lange Liste der peinlichen Entwickler ein, die die mit Unsinn zumüllen.

Sherlock

Daniel 28. Jan 2011 12:35

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Ich nutze üblicherweise auch ein spezielles Config-Objekt dafür.
Ich finde das mit den Settern gar nicht so schlecht, denn dann kann sicher sein, dass auch neue Parameter immer noch mal kurz auf ihre Gültigkeit hin geprüft werden. Und unter Umständen gibt es ja bei Änderungen irgendwen zu benachrichtigen.

stahli 28. Jan 2011 12:54

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Ich würde für solche Dinge auch Ini´s nutzen.

Nersgatt 28. Jan 2011 13:02

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Wir nutzen momentan auch eine Ini. Allerdings ist mittelfristig geplant, einige Einstellungen in der Datenbank zu speichern, die unsere Anwendung sowieso benutzt. Da wir eine eigene Userverwaltung in unsere Software haben, ist es doch toll, wenn alle Einstellungen des Users vorhanden sind, egal an welchem PC er sich an der Anwendung anmeldet. Da wollen wir hin.
Natürlich kann man das nicht mit allen Einstellungen machen. Einige sind auch vom PC abhängig. z.B. benutzen einige Programmteile Barcodescanner. Es muss eingestellt werden an welchen COM-Port der Scanner hängt. Das muss man natürlich weiterhin auf dem Arbeitsplatz speichern.

generic 28. Jan 2011 13:05

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
-da hat sich das Internet verschluckt.

generic 28. Jan 2011 13:08

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Lustig, über das Thema schreibe ich gerade einen Artikel.

Gibt verschiedene Ansätze:
* Struktur-Dateien
* Textdateien im Key/Value Prinzip
* Ini-Dateien
* DFM-Prinzip (automatische Serialisierung)
* XML-Dateien
* Registry

Alle haben ihre Vor- und Nachteile.
Meine Programme haben bist jetzt die Registry genutzt.
Die nächsten Programme werden wohl XML-Dateien im Benutzerprofil speichern.

Über die RTTI speichern und laden sich meine Objekte selbstständig.

Nersgatt 28. Jan 2011 13:14

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Hallo Bernd,

wo wird der Artikel denn zu lesen sein?

joachimd 28. Jan 2011 13:42

AW: Wie verwaltet Ihr Anwendungseinstellungen?
 
Zitat:

Zitat von generic (Beitrag 1077936)
Die nächsten Programme werden wohl XML-Dateien im Benutzerprofil speichern.

Da ich gerade exzessiv mit JSON rumhantiere: das Format ist weitaus einfacher als XML und es gibt eine Komponente namens SuperObject (http://www.progdigy.com), die die Verarbeitung mehr als einfach erledigt. Ein einfaches
Delphi-Quellcode:
SO(json_text)
liefert eine Instanz basierend auf der JSON-Repräsentation,
Delphi-Quellcode:
so_instanz.AsString
liefert die JSON-Repräsentation der Objekt-Hierarchie.
Für mich in Zukunft das Mittel zum Speichern komplexer Objekt-Bäume.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz