Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einstellunungen speichern (https://www.delphipraxis.net/31416-einstellunungen-speichern.html)

Alexander Roth 8. Okt 2004 20:30


Einstellunungen speichern
 
Hi Leute,

wie geht ihr vor wenn ihr am besten vor wenn ihr Einstellungen des Programms in einer Datei Speichern wollt. Ich stehe nämlich jetzt vor dem Problem und will nicht die umständlichsten Methoden anwenden.

Ich bin auf dem Gebiet relativ unerfahren deshalb löchere ich euch jetzt mit Fragen:

Was für einen Dateityp nehmt ihr am Besten?
Wie greift ihr drauf zu /lest davon aus?


Danke für die Antworten im Voraus.


PS: ich will einen ganz Großen Dank an die Betreiber dieses Forums richten. Es ist einfach nur toll wenn man hier alles mögliche über Delphi nachfragen kann.
Ebenfalls bedanke ich mich bei allen die mit in diesem Forum Antworten geben.

alcaeus 8. Okt 2004 20:33

Re: Einstellunungen speichern
 
Hi Alexander,

Zitat:

Zitat von Alexander Roth
wie geht ihr vor wenn ihr am besten vor wenn ihr Einstellungen des Programms in einer Datei Speichern wollt. Ich stehe nämlich jetzt vor dem Problem und will nicht die umständlichsten Methoden anwenden.

Ich bin auf dem Gebiet relativ unerfahren deshalb löchere ich euch jetzt mit Fragen:

Was für einen Dateityp nehmt ihr am Besten?
Wie greift ihr drauf zu /lest davon aus?

ich persönlich bevorzuge (v.a. für kleinere Programme) ini-Files, da sie nach dem Löschen des Programms keine Spuren in der Registry hinterlassen. Um auf ini-Dateien zuzugreifen brauchst du die Klasse [oh]"TIniFile"[/oh], die in der Unit IniFiles deklariert ist. Damit wird der Zugriff sehr einfach. Beispiele dazu gibts in der OH bzw. hier im Forum.

Zitat:

Zitat von Alexander Roth
PS: ich will einen ganz Froßen Dank an die Betreiber dieses Forums richten. Es ist einfach nur toll wenn man hier alles mögliche über Delphi nachfragen kann.
Ebenfalls bedanke ich mich bei allen die mit in diesem Forum Antworten geben.

Ich steig da gleich mit ein: :hello: Applaus an Daniel und seine Mods
(und Leute wie mich die einfach viel zu lange online sind und alles beantworten, was ihnen unter die Finger kommt :mrgreen:

Greetz
alcaeus

Computerbabalulu 8. Okt 2004 20:34

Re: Einstellunungen speichern
 
Hi Alex

Such mal nach TIniFilie.... Damit kannst du einfach in eine *. ini Datei schreiben und daraus auch wieder lesen....

Ein Tutorial gibt´s hier INI

Gruß Frank

Computerbabalulu 8. Okt 2004 20:36

Re: Einstellunungen speichern
 
Grrr.. Alcaeus war schneller... :mrgreen:

Zitat:

Ich steig da gleich mit ein: Applaus an Daniel und seine Mods
Ich natütlich auch.... :party: ..... :hello:

Alexander Roth 8. Okt 2004 20:56

Re: Einstellunungen speichern
 
Danke!!!
Ich schau mich dann mal um.

phlux 8. Okt 2004 20:56

Re: Einstellunungen speichern
 
Hi :hi:
Also mach es nach einer Methode, wie in diesem Thread beschrieben.

Ich erstelle mir einen Typ namens TConfig den ich vom Typ TComponent abgelitten hab. Dann halt mit FileStream.Read- und WriteComponent in die Datei speichern.

Jetzt kann man einfach in der public section der Hauptform die Config vom Typ TConfig definieren und man kann auf die einzelnen Einstellungen drauf zu greifen die ja dann Properties vom typ TConfig sind ;)
So kann man auch einfach die komplette Config speichern bzw alles auf einen Rutsch bequem einlesen :)

mfg phlux :hi:

Jelly 8. Okt 2004 21:18

Re: Einstellunungen speichern
 
Zitat:

Zitat von phlux
So kann man auch einfach die komplette Config speichern bzw alles auf einen Rutsch bequem einlesen :)

Klappt das Einlesen denn auch noch, nachdem du deiner TConfig Klasse eine Property hinzugefügt hast :gruebel:
Ich hab mir mal für meinen eigenen Gebrauch eine Komponente geschrieben, die ähnlich heran geht, das Ganze aber als ini- oder alternativ in der Registry speichern kann. Wenns interessiert, poste ich die gern mal hier rein.

Gruß,
Tom

Alexander Roth 9. Okt 2004 07:39

Re: Einstellunungen speichern
 
Ich hab mich jetzt umgeschaut und die tinifile klappt genauso wie ich es mir gewünscht habe.
Eine kurze Frage noch: Brauch man das am Ende des schreibens zu setzten?
Delphi-Quellcode:
ini.Free;

ibp 9. Okt 2004 07:57

Re: Einstellunungen speichern
 
hallo, schau mal in der oh nach was free bedeutet!

himitsu 9. Okt 2004 07:57

Re: Einstellunungen speichern
 
JA - mann sollte/MUß alles wieder richtig freigeben, wenn man es nicht mehr braucht.

phlux 9. Okt 2004 10:27

Re: Einstellunungen speichern
 
Zitat:

Zitat von Jelly
Zitat:

Zitat von phlux
So kann man auch einfach die komplette Config speichern bzw alles auf einen Rutsch bequem einlesen :)

Klappt das Einlesen denn auch noch, nachdem du deiner TConfig Klasse eine Property hinzugefügt hast :gruebel:
Ich hab mir mal für meinen eigenen Gebrauch eine Komponente geschrieben, die ähnlich heran geht, das Ganze aber als ini- oder alternativ in der Registry speichern kann. Wenns interessiert, poste ich die gern mal hier rein.

Gruß,
Tom

natürlich nicht mehr, deshalb sollte man die struktur entweder nicht verändern :mrgreen: oder einfach als erstes in den stream eine Byte-Wert schreiben sozusagen als eine Versionsnummer anhand der man dann die unterschiedlichen Config-typen erkennen und auslesen kann.

Jelly 9. Okt 2004 10:29

Re: Einstellunungen speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich hab die Komponente mal jetzt einfach hier reingehängt. Vielleicht findet ja jemande Verwendung.

Alexander Roth 9. Okt 2004 17:38

Re: Einstellunungen speichern
 
Zitat:

JA - mann sollte/MUß alles wieder richtig freigeben, wenn man es nicht mehr braucht.
Mach ich.

Danke für Eure Beiträge.
Habt mir sehr geholfen.

mirage228 9. Okt 2004 17:55

Re: Einstellunungen speichern
 
Hi,

auch wenn Du schon eine Lösung hast, möchte ich hier noch 3 Alternativen vorstellen :) - Eventuell ist das eine oder andere interessant für dich.

Die Registry
Die Windows Registry wird zwar von Microsoft selbst nicht mehr empfohlen, jedoch bietet sie eine gute Möglichkeit sehr einfach die Einstellungen des Programmes für jeden Benutzer zu speichern (indem man immer HKEY_CURRENT_USER benutzt).
Delphi hat dazu in der Unit Delphi-Referenz durchsuchenRegistry die Klasse Delphi-Referenz durchsuchenTRegistry

XML Dateien
XML Dateien sind sehr flexibel. Ein Knoten ("Node"), kann noch zusätzliche Attribute aufnehmen, sodass in einem "Eintrag" mehr Informationen gespeichert werden können. Ausserdem lassen sich mit der XPath-Technologie schon fast Datenbank-ähnlich ein oder mehrere Knoten abfragen.
Ab Delphi 6 Enterprise / Delphi 7 Professional gibt es dazu das Delphi eigene Delphi-Referenz durchsuchenTXMLDocument. Oder du verwendest direkt eine importierte Typ-Bibliothek (MSXML 4 z.B.). In beiden Fällen muss eine XML DOM auf dem Zielrechner installiert. In letzterem Fall logischerweise exakt MSXML 4 selbst. Im Tutorials-Forum findest Du noch ein Hier im Forum suchenXML Tutorial von Chris.

TCollection und TCollectionItem
Mit Collections kannst Du ganze Klassen samt Unterklassen und Prpoerties mit dem Delphi Streaming System speichern.
Hier findest Du eine fertige Implementierung: http://www.delphipraxis.net/internal...ct.php?t=25869
Das ganze geht bei entsprechender Klassengestaltung sehr komfortabel von statten :)

mfG
mirage228


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