AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Globale Vriablen, Record´s oder Objecte Konfigurationsdaten
Thema durchsuchen
Ansicht
Themen-Optionen

Globale Vriablen, Record´s oder Objecte Konfigurationsdaten

Ein Thema von Jens Hartmann · begonnen am 11. Apr 2009 · letzter Beitrag vom 12. Apr 2009
Antwort Antwort
Reinhard Kern

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

Re: Globale Vriablen, Record´s oder Objecte Konfigurationsda

  Alt 11. Apr 2009, 14:19
Hallo Jens,

eine mögliche Art, das mit einer Klasse anzugehen (die wird für jedes Programm benötigt und beruht auf einer Klassenhierarchie, die allen gemeinsam ist):

Delphi-Quellcode:
{ Deklaration }
  type

  TBPMLogSettings = class (TRKIniSettingTable)
    public
    Station_Node : TRKiniSettingValue; { group }
    Station_Description : TRKiniSettingValue; { group }
    Station_CommPort : TRKiniSettingValue; { group }
    Station_USBSerial : TRKiniSettingValue; { group }
    QSDoc_Path : TRKiniSettingValue;

.....

{ Create }
constructor TBPMLogSettings.CreateTable (IC : TRKIniClass);
var CSection : ShortString;

begin
inherited Create (IC);

with BLMainForm do
  begin
  CSection := 'Station';
  Station_Node := TRKiniSettingValue.Create_Integer (-maxStationNo,CSection,
        'Node',0, [] ,self);
  Station_Description := TRKiniSettingValue.Create_String (-maxStationNo,CSection,
        'Description','', [] ,self);
  Station_CommPort := TRKiniSettingValue.Create_Integer (-maxStationNo,CSection,
        'CommPortNumber',0, [] ,self);
  Station_USBSerial := TRKiniSettingValue.Create_String (-maxStationNo,CSection,
        'USBSerial','', [] ,self);
  QSDoc_Path := TRKiniSettingValue.Create_String (1,'QS-Doc',
        'Path','', [] ,self);

....

{ Wert holen }
fTimeBase := BPMLogSettings.Station_TimeBase.GetInteger (1);
Erklärung:

Es gibt für jedes Programm eine Klasse XYZLogSettings, in der ein Parameter als TRKiniSettingValue deklariert wird. Im Konstruktor dieser Klasse wird durch einen Create-Aufruf für jeden Parameter festgelegt, um was für einen Type es sich handelt (Bool,Integer,Real,String,Binary,Windowposition,Fo nt,Color...), welcher Default und wenn möglich auch (vorletzter Parameter) Controls zum Lesen und Schreiben, für die meisten Typen ein array of TEdit.

Im Regelfall ist das meiste damit erledigt: Alles was in XYZLogSettings deklariert ist, kann am Programmbeginn mit ReadAllValues gelesen werden, und geänderte Werte werden am Programmende mit SaveAllValues in die Ini-Datei oder Registry zurückgespeichert.

Das mit den Gruppen ist noch eine weitere Arbeitserleichterung: mit dem Wert 10 werden 10 Werte definiert nach dem Muster Section - Key1 - Key2 ... Key10, mit dem Wert -10 nach dem Muster Section1 - Key, Section2 - Key usw. einfache Werte haben eben eine 1.

Es gibt natürlich noch viel mehr Möglichkeiten, aber das gehört nicht hierher.

Gruss Reinhard
  Mit Zitat antworten Zitat
Antwort Antwort


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