![]() |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Um die Einstellungen in den Programmen zu Verwalten nutze ich in der VCL sowie auch in der nonVCL eine Klasse in
Verbindung mit einem Record oder eben nur einen Record. Es ist imho immer die Frage wie viele Daten man speichern möchte, ob die Angelegenheit erweiterbar gestaltet werden soll und oder ob die gespeicherten Daten manuell bearbeitbar sein soll. Ich verwende gern Ini-Dateien, der Vorteil ist das man seine Programme dadurch leicht portabel bekommt. Manchmal nutze ich auch gern eigene binäre Konfigurationsdateien in denen ich einfach einen Rekord abspeichere. Die kleinste Konfig.-datei ist gerade mal ein Byte gross mit acht enthaltenen Infos. :stupid: Registry kommt für mich nur in Frage, wenn man auf Systemdaten zugreifen will oder seine Daten bzw. Einstellungen global auf dem Windowssystem verfügbar machen möchte. XML und der gleichen nutze ich hingegen ungern bzw. sogut wie nie da mir der Aufwand zu gross und meine Programme zu klein dafür sind. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Zitat:
Ich habe alle meine Einstellungen in einem oder mehreren Objekten. Beim Speichern und Laden werden sie bei meinen meisten Programmen in/aus ein(em) XML-Dokument serialisiert. Der Vorteil ist, dass ich mich nicht selbst um das Speichern neuer Attribute kümmern muss. Viele Grüße |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Registry und INI-Datei. Ansonsten (aber eher selten) auch mal hier und da ne Datenbank (bspw. SQLite).
Noch was für ganz clevere: Lua kann man, wie schon bei FarCry gesehen, auch als Konfigurationsdateien mißbrauchen. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Vielen Dank für die zahlreichen Antworten. Dann werde ich dann wohl die Mühe auf mich nehmen und das ganze in einem Objekt kapseln. Ist zwar aufwendig aber - wie bereits angemerkt - sauber und erweiterbar.
Da die Frage zum Topic passt: Wo speiche ich eigentlich Konfigurationsdateien (z.B. INI) jetzt ab? Es gibt ja da verschiedene Aussagen. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Ich glaube hier ging es gar nicht so darum wo die Daten letztendlich abgelegt werden als vielmehr ob man sich die Arbeit macht über ein Objekt darauf zu zugreifen.
Ich bevorzuge den Zugriff über ein Objekt weil man dann wirklich nur die Laden- und Speichern-Methode ändern muss wenn sich der Ablageort/-Typ für die Daten ändern soll. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Zitat:
Dadurch wäre das Ganze um einen Klacks abstrakter und könnte nun bei anderen Projekten verwendet werden! |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Zitat:
Ein Cluster ist heutzutage wohl schonmal durchschnittlich 4 KB bis zu 64 KB und eine Datei belegt immer ein Mehrfaches an ganzen Clustern. :stupid: PS: XML gegenüber INI ist kein großer Unterschied ... es sind etwa die selbe Anzahl an Befehlen. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Bei überschaubaren Progrämmchen haben meine einstellbaren Klassen oft eine Load/-SaveSettingsToStream()-Methode.
Bei größeren, oftmals eigene Settings-Klassen. Wo? Privat: Zu 80% in der Exe selber. Ansonsten: Als Binärfile oder ini in %appdata% Registry vermeid ich auch wo es geht. |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Zitat:
Entwickler Magazin 4.2011 Seite 68 ff. erscheinen. Einstellungssache - Anwendungsdaten und Einstellungen laden, verarbeiten und speichern |
AW: Wie verwaltet Ihr Anwendungseinstellungen?
Ich habe zu dem Zweck eine fertige Lösung vorbereitet. Die sucht automatisch an den möglichen Stellen in der richtigen Reihenfolge und erlaubt es so dem Benutzer anzugeben wo die Einstellungen liegen sollen. Zudem kann man eine portable Version unabhängig von einer installierten Version einfach mal auf dem selben Rechner starten usw.
Du findest die Units plus Demo hier: ![]() Sowie eine Erklärung zu den Hintergründen hier: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:24 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz