Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Änderungsüberwachung Einstellungen (https://www.delphipraxis.net/166047-aenderungsueberwachung-einstellungen.html)

haentschman 27. Jan 2012 08:03

Änderungsüberwachung Einstellungen
 
Morgen alle... :hi:

viele Wege führen nach Rom... welcher ist der sinnvollste ?

Gegeben:
- Klasse mit diversen Einstellungen (Boolean, Integer, String, Listen)
- Form für die Visualisierung dieser Klasse

Was ich gern hätte:
- Bei Änderung irgendeiner Einstellung den "Save" Button aktiv
- Beim Speichern nur die Änderungen speichern

eine Möglichkeit:
- für jede "Gruppe" der Einstellungen ein privates Flag (Changed)
- Form löst ein Event aus "Speichern" (vom Button)
- Klasse speichert entsprechend der Flags

Welche Möglichkeiten bieten sich um die "100" OnChange Events der Visuellen Controls zu sparen

Danke für Denkanstöße...

Uwe Raabe 27. Jan 2012 08:39

AW: Änderungsüberwachung Einstellungen
 
Wenn es im Prinzip so laufen soll, wie du beschreibst, dann kannst du das mit einem einzigen Change-Event pro Control-Typ erledigen. Setze bei jedem Control einen Tag-Wert, der dem Property entspricht. Verdrahte alle Change-Events auf eine Methode und merke dir das Control-Tag aus dem Sender in einem Set. Beim Save prüfst du für jedes Property, ob das entsprechende Bit im Set gesetzt ist. Den Save-Button verbindest du mit einer Action, die im Update-Event prüft, ob das Set leer ist.

haentschman 27. Jan 2012 09:35

AW: Änderungsüberwachung Einstellungen
 
Danke erstmal...
Zitat:

Setze bei jedem Control einen Tag-Wert
... diese Tag Orgie wollte ich mir eigentlich ersparen. Vor allem da den Überblick zu behalten bei Änderungen / Ergänzungen.
Über das Liste führen hatte ich auch schon nachgedacht. Nur bin ich bei der Unterscheidung der Einträge hängengeblieben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:31 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