AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhängig
Thema durchsuchen
Ansicht
Themen-Optionen

Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhängig

Ein Thema von Headbucket · begonnen am 13. Sep 2016 · letzter Beitrag vom 14. Sep 2016
Antwort Antwort
Seite 1 von 2  1 2      
Headbucket

Registriert seit: 12. Dez 2013
Ort: Dresden
172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhängig

  Alt 13. Sep 2016, 14:59
Hallo miteinander,

ich habe ein paar allgemeine Fragen zur Vorgehensweise beim Laden und Speichern von Programmeinstellungen. Die Thematik scheint simpel, doch ich zerbreche mir schon eine ganze Weile den Kopf darüber und hoffe nun frischen Input zu erhalten .

Bisherige Vorgehensweise

Zur Zeit speichere ich meine Daten auf 3 verschiedene Art und Weisen:
  • INI-Dateien | Recht selten geworden, aber es soll dem Benutzer möglich sein manche Einstellungen selbst zu ändern, welche nicht unbedingt über Dialoge im Programm zu ändern sind.
  • XML-Dateien | Komplexere Speicherstrukturen, welche nicht vom Benutzer geändert werden sollen. Es soll jedoch trotzdem möglich sein mal etwas "nachzuschauen".
  • SQLite-Dateien | Alle sonstigen "unwichtigen" Einstellungen, die man in der Oberfläche verändern kann (Farbeinstellungen, usw). Außerdem verschiedene Texte usw.

Von jedem Dateityp gibt es mehrere Dateien. Jede Datei steht dann für eine bestimmte Thematik. Die Einstellungen werden übrigens im Programm immer genau dann geladen, wenn sie benötigt werden. So werden Sie z.B. einmal im Einstellungsdialog geladen, wo ich auch einige Einstellungen verändern kann. Werden die Einstellungen dann im späteren Programm benötigt, dann werde sie auch nochmal geladen. So kann es natürlich vorkommen, dass ich Einstellungen mehrmals lade.

Wünsche

Nun habe ich zwei große Wünsche, welche sich mit meiner bisherigen Vorgehensweise wohl nicht so ganz umsetzen lassen:

(1) Ich möchte verschiedene Einstellungen benutzerabhängig machen. So soll es z.B. neben den globale Einstellungen, welche zuerst geladen werden, auch benutzerabhängige Einstellungen geben, welche ggf. die globalen Einstellungen überschreiben (ähnlich Linux- oder GIT-Konfigurationsdateien).

(2) Mein Programm gibt nach der Ausführung eine Ergebnisdatei aus (XML-Datei). Hier möchte ich gerne alle Programmeinstellungen mitspeichern. Das mag jetzt erstmal etwas übermütig klingen, macht für meinen Anwendungsfall aber durchaus Sinn.

Lösungsfindung

Beide Wünsche würden sich einigermaßen leicht umsetzen lassen, wenn ich wirklich nur EINE Konfigurationsdatei habe. Diese wird dann in meinem Programm am Anfang global geladen (zunächst mit den globalen Einstellungen und danach mit den benutzerabhängigen). Dann müsste ich aber erstens alle Einstellungen in eine Datei packen (sehr unübersichtlich) und außerdem müsste ich alle Einstellungen am Anfang global laden - anderenfalls wird es wohl komplizierter umsetzbar.

Mich würden deshalb mal eure Konzepte zum Laden und Speichern von Einstellungen interessieren. Wie speichert ihr? Habt ihr auch benutzerabhängige Einstellungen? Und wie ist dann eure Handhabung im Delphi? Habt ihr für Konfigurationseinstellungen vllt sogar extra Klassen in extra Units?
Leider habe ich zu diesem Thema auch kaum Literatur im Internet gefunden. Vllt habe ich aber auch einfach nach den falschen Begriffen gesucht.

Wahrscheinlich wird es auf eine oder mehrere Units hinauslaufen, welche verschiedene Klassen implementieren, wo die Einstellungen gelesen und geschrieben werden können. Hier stellt sich mir dann aber direkt die Frage, ob man solche Klassen dann global erstellt oder doch lieber nur bei Bedarf. Dann kann es natürlich vorkommen, dass ich große Klassen mehrmals erzeugen muss.

Vielen Dank fürs durchlesen und die Hilfe!

Grüße
Headbucket

Geändert von Headbucket (13. Sep 2016 um 15:07 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#2

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 15:54
Hallöle...
Zitat:
Habt ihr für Konfigurationseinstellungen vllt sogar extra Klassen in extra Units?
...du sagst es.

Vorher eine Frage an dich... (nicht böse gemeint ) Sagen dir die Begriffe Vererbung etwas? Wenn nicht, solltest du damit anfangen.

Wenn du das innerlicht hast, dann kann man die komplexeren Fragen beantworten.

Beispiel:
1. Klasse aus verschiedenen Basis Klassen abgeleitet.
2. z.B. aus verschieden INI laden.
3. Einstellungen die immer da sind (globale) und progammspezifische in einer Klasse
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#3

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:02
Beispiel:
1. Klasse aus verschiedenen Basis Klassen abgeleitet.
2. z.B. aus verschieden INI laden.
3. Einstellungen die immer da sind (globale) und progammspezifische in einer Klasse
Wieso so kompliziert mit Klassen und alle dem?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:10
Wieso keine Interfaces? Dann ließe sich die Applikation recht einfach erweitern, ohne dass man auf der GUI-Ebene eine Zeile Code ändern müsste.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:13
Moin...

Aus verschieden Gründen:
1. eine Klasse kapselt den Code für eine AUFGABE
2. Erweiterung einer Klasse für die AUFGABE mit anderen OPTIONEN
3. Eine Klasse ist WIEDERVERWENDBAR
4. Klasse ist OOP ...

...usw.

Zitat:
Wieso keine Interfaces?
...ich glaube das das zu weit führt.

Geändert von haentschman (13. Sep 2016 um 16:16 Uhr)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#6

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:16
Nur wo werden dann z.B. für eine ini-Datei die Sections und Idents übergeben?
Das ist dann doch außerhalb. Dann ist diese Klasse ja nix anderes als ein Wrapper?

Oder ich verstehe es nicht
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#7

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:18
Was interessiert es denn den "Speichernden", wie die eigentliche Speicherung implementiert ist? Der muss nix von Idents und Sections wissen, dafür ist die Speicherklasse zuständig.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#8

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:20
Was interessiert es denn den "Speichernden", wie die eigentliche Speicherung implementiert ist? Der muss nix von Idents und Sections wissen, dafür ist die Speicherklasse zuständig.
Das meinte ich nicht. Ich frage mich nur, wie die Klasse wiederverwendbar sein soll.
Denn wenn ich Sections und Idents doch eh außerhalb der Klasse "angebe" / von außerhalb der Klasse übergebe, wofür dann noch eine Klasse und all der Aufwand?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#9

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:22
Von welcher Klasse redest Du jetzt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#10

AW: Vorgehensweise beim Laden und Speichern von Programmeinstellungen | Benutzerabhän

  Alt 13. Sep 2016, 16:24
Zitat:
Nur wo werden dann z.B. für eine ini-Datei die Sections und Idents übergeben
Versuche dich zu lösen. Deinem Programm soll es es wurst sein WOHER z.B. die Hintergrundfarbe kommt. Ob aus einer INI oder aus Nachbars Garten. Das regelt die "Speicherklasse".
Wenn du eine INI verwendest dann mußt du auch den Code impementieren.

Geändert von haentschman (13. Sep 2016 um 16:27 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:06 Uhr.
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