Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Programmeinstellungen organisieren

  Alt 27. Okt 2014, 23:28
Einfach ein Repository für die Einstellungen
Delphi-Quellcode:
ISettingsRepository = interface
  function GetBool( const Section, Ident : string; Default : Boolean = False ) : Boolean;
  procedure SetBool( const Section, Ident : string; Value : Boolean );
  ...
end;
und konkretisieren für wo auch immer man das speichern möchte (INI, Registry, Datenbank, ...)

Dieses Repository gibt man dann einfach den Einstellungs-Klassen mit
Delphi-Quellcode:
TKlasseA = class
private
  FSettingsRepository : ISettingsRepository;
  FSection : string; // Path + ClassName?? Wie auch immer organisieren
  function Get_enableHighlighting : Boolean;
  procedure Set_enableHighlighting( Value : Boolean );
public
  constructor Create( SettingsRepository : ISettingsRepository; const Path : string );
  property enableHighlighting: boolean read Set_enableHighlighting write Get_enableHighlighting;
  ...
end;

function TKlasseA.Get_enableHighlighting : Boolean;
begin
  Result := FSettingsRepository.GetBool( FSection, 'enableHighlighting' );
end;

procedure TKlasseA.Set_enableHighlighting( Value : Boolean );
begin
  FSettingsRepository.SetBool( FSection, 'enableHighlighting', Value );
end;
Für den Einstellungsdialog hat man nun Zugriff auf das Repository und zwar völlig unabhängig von den einzelnen Klassen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat