AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie Programmoptionen organisieren?

Ein Thema von EConvertError · begonnen am 18. Nov 2006 · letzter Beitrag vom 19. Nov 2006
 
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#10

Re: Wie Programmoptionen organisieren?

  Alt 18. Nov 2006, 23:00
Zitat von EConvertError:
Vielen Dank für eure Antworten!

Einerseits bin ich sehr den oben von mir angedeuteten typisierten Ansatz, anderseits wüsste ich nicht, wie man da Verschachtelungen ordentlich implementieren könnte.

Eure Record-Implementation entspricht eigentlich meinem typisierten Ansatz (das eigentliche Medium ist ja egal; man kann ja auch ein TIniFile/TRegistry so kapseln). Ihr verzichtet also auf eine Verschachtelung?

TRegistry und TIniFile unterstützen zwar Verschachtelungen, nur bin ich auf die ReadXXX und WriteXXX Methoden angewiesen. Dadurch habe ich dann überall im Code meine Konstanten für das Herauslesen (Key-, Sectionname) verstreut und nicht alles an einer Stelle.

Deshalb frage ich einfach mal ganz unverschämt, wie ihr das macht. :mrgreen:

Dankeschön,
Andreas
Hallo,

ich habe ein Objekt "XYZSettings", das seinerseits aus "Value"-Objekten besteht, die einen sinnvollen Namen haben wie "PrinterMarginLeft" und einen Typ wie Integer, Real, Color usw. was man so brauchen kann (wird ständig erweitert). Diese werden im Create initialisiert, dabei (und nur hier!!!) werden auch Section und Key für die Ini-Datei bestimmt und im Value-Objekt gespeichert (die Defaultwerte übrigens auch, und auch der Bezug zu einem TEdit o.ä. sofern vorhanden). Also stehen die alle an einer Stelle (im overrided Create) und sind eindeutig.

Neben Einzelroutinen für die Value-Objekete hat das Settings-Objekt auch Routinen wie ReadAllvalues (zum Programmstart) und SaveAllValues (am Ende). Normalerweise speichere ich vom User eingegebene Änderungen nicht extra in die INI-Datei, sondern nur in Settings.Value - die Saveroutinen am Programmende vergleichen den aktuellen Wert mit dem zuletzt eingelesenen und speichern nur wenn nötig (dirty).

Das Ganze hat bei einem komplexen Projekt mehr als 2500 Zeilen Umfang, dafür geht so etwas wie die Verwaltung von Stiften und Farben für Plots fast automatisch. Es gibt in dem Beispiel ja auch mehr als 200 Variablen, die der Benutzer ändern kann, um seine Plots anzupassen, und entsprechend viele Controls zur Eingabe von Zahlen, Farben, Stiftmustern usw.

Gruss Reinhard
  Mit Zitat antworten Zitat
 


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 04:32 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