Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Einstellungen speichern und verwalten (https://www.delphipraxis.net/56945-einstellungen-speichern-und-verwalten.html)

mschaefer 15. Nov 2005 08:07

Re: Einstellungen speichern und verwalten
 
Moin, Frühmoin,

Naja Net ist wohl noch nicht das Maß der Dinge, aber Robert hat schon eine recht zeilenoptimierte Variante der Einstellungsspeicherung.

Das zeilenfressende Grundproblem haben aber alle gezeigten Varianten bisher: Die Eigenschaften von Fremdobjekten müssen einem Speicherobjekt "im Code" erst zugewiesen werden, bevor diese gespeichert werden. Umgekehrt müssen diese beim Auslesen wieder 'per Code' an die Zielobjekte verteilt werden. Also das Prinzip ist irgendwie unelegant...

Grüße // Martin


PS: Muß mal sehen ob ich dieses alte Testprojekt mit visueller Object- und Propertyauswahl wiederfinde.
Irgendwas knackte noch im Gebälk, aber vom Prinzip funktionierte das schon...

PPS: Projekt verschollen, aber Komponente gefunden, dauert etwas muß mal ein Tesprojekt neu zusammenbauen...

AndreasP 15. Nov 2005 10:13

Re: Einstellungen speichern und verwalten
 
mahlzeit,

imho hat jede der bisher genannten möglichkeiten ihre vor und nachteile (mal mehr, mal weniger) und durchaus ihre daseinsberechtigung. die registry solle meiner meinung nach nur für sachen gebraucht werden die explizit was mit windows zu tun haben. sollen es wirklich nur ein paar fenster koordinaten sein reicht eine ini aus, für mehr sollte man schon xml verwenden. eins sollte aber nicht vergessen werden, wenn man z.b. xml eh schon (für was anderes) im projekt hat ist es eigentlich überflüssig auch noch TIniFile einzubinden.

ein paar beiträge zuvor wurde (mit einem ablehnenden unterton) darauf hingewiesen das man ja für xml einen extra editor bräuchte. dazu sind 2 dinge zu sagen:
1 - zur not kann man die xml datei auch in delphi öffnen (getestet D7) und bearbeiten
2 - eigentlich hatt jeder programierer der was auf sich hält eh einen ordentlichen editor auf der platte der über die funktionen von wordpad hinausgeht (was keine kunst ist). es gibt wirklich gute (freeware) editoren wie z.b. pspad oder notepad++. oder wenn es etwas mehr sein darf auch shareware a la ultraedit. (btw die kommplette sprachdatei für meinen AppManager hab ich mit pspad erstellt, und mit den richtigen macros kann man sich viel schreibarbeit sparen und braucht kein spezialisiertes/selbst geschriebenes programm. und auch die setting.xml kann ich damit prima kontrolieren/bearbeiten, inkl. syntaxhighlightning und korrekter formatierung)

um zum kern der diskusion zurürk zu kommen: zum laden und speichern der programm einstellungen verwende ich eine extra klasse die das für mich macht. damit werden alle relevanten eigenschaften beim programmstart ausgelesen und für den weiteren gebrauch vorrätig gehalten (bei den heutigen ram größen halte ich es nicht für sinnvoll die daten immer wieder neu auszulesen, was ja auch performance frisst). über diese klasse werden die eingegebene parameter auch gleich auf plausibilität geprüft und gegebenfalls andere werte gleich mit geändert/hinzugefügt/gelöscht. auch wird ein interner timer gesteuert der das reglmäßige scheichern der daten übernimmt. beim beenden des programmes sorgt die klasse dafür das die daten richtig in einer xml datei geschrieben werden.

//Edit: Schlechtschreibung

Lord Dave 15. Nov 2005 11:20

Re: Einstellungen speichern und verwalten
 
@andreasP:

Genau sowas wollte ich hören ;) Das halte ich auch für eine gute Lösung.

Einzig das macht mich stutzig:
Zitat:

auch wird ein interner timer gesteuert der das reglmäßige scheichern der daten übernimmt.
Wozu das?
Ich speichere bei jeder Änderung einer Einstellung die Daten, was macht es für einen Sinn einen Timer damit zu beauftragen? Steigt damit nicht das Risiko, etwa bei einem Absturz eine ungültige Einstellungs-datei zu erzeugen?

AndreasP 15. Nov 2005 11:41

Re: Einstellungen speichern und verwalten
 
mahlzeit,

Zitat:

Wozu das?
Ich speichere bei jeder Änderung einer Einstellung die Daten, was macht es für einen Sinn einen Timer damit zu beauftragen? Steigt damit nicht das Risiko, etwa bei einem Absturz eine ungültige Einstellungs-datei zu erzeugen?
das war wohl etwas unglücklich formuliert :stupid: . selbstverständlich werden die einstellungen nur gespeichert wenn sie sich geändert haben, bzw das einstellungsmenü über ok verlassen wird. ich meine damit so ein funktion wie word, das ja auch in regelmäsigen abständen das gerade offene dokument speichert, nur eben für meine katalogdaten.

Robert_G 15. Nov 2005 11:48

Re: Einstellungen speichern und verwalten
 
Zitat:

Zitat von Hansa
Alles auf .NET umzustellen ist etwas verfrüht. Was soll das ?
Wie, was selber tippen ? :shock:

Immer wieder überraschend, wieviel Mühe du dir doch machst, nichts zu kapieren. Ich sprach mit keinem Wort über irgendeine Migrierung zu .Net und zeige mir mal wie du Objekte in eine INI serialisieren kannst, alles andere läuft unter "selbst tippen".


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:09 Uhr.
Seite 4 von 4   « Erste     234   

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