Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ini-Files: Vor und Nachteile und Alternativen (https://www.delphipraxis.net/47352-ini-files-vor-und-nachteile-und-alternativen.html)

malo 9. Jun 2005 19:48


Ini-Files: Vor und Nachteile und Alternativen
 
Wegen den Einwänden von Speedmaster (hier) habe ich mal einen neuen Thread aufgemacht, damit wir nicht in dem anderen Thema weiterdiskutieren müssen ;)

Es geht also darum, dass Ini-Files laut Speedmaster "schlecht strukturiert" seien.

Ich antworte einfach mal in diesem Thread auf Speedmasters Kommentar:
Zitat:

Zitat von Speedmaster
Zitat:

Zitat von malo
Zitat:

Zitat von Speedmaster
zum Thema warum keine Ini's: Sind schlecht Strukturiert!

Aha. Und wo genau sind sie das? Ich finde .ini's strukturiert genug, um ein paar Einstellungen zu speichern. Welche Alternative kennst du denn sont? txt-Files? Registry? XML-Dateien? Oder gar Datenbanken? :shock:

Gleich killt mich Lucky wieder wegen Thema verfehlt, aber was solls! XML ist sicherlich eine gute Wahl!
Sicherlich, man kann ein paar Einstellungen abspeichern, aber er macht anscheinend einen Vokabeltrainer, und aus Erfahrung kann ich sagen: Vergesst die ini, ist veraltet!

Naja, XML-Dateien sind bestimmt ganz praktisch für einige Situationen. Imho reichen jedoch für viele Dinge auch Ini-Files. Es ist einfach leicht zu lernen, benötigt keine besonderen Kentnisse, wenig Code und die Dateien bleiben auch ziemlich klein ;)

XML-Dateien haben den Nachteil, dass man sich erst reinarbeiten muss. Man muss erstmal den Aufbau einer XML-Datei verstehen und dann noch lernen, es in Delphi umzusetzen (beschreiben und auslesen).



naja, ich würde gerne aber auch andere Meinungen hören... ;)

SirThornberry 9. Jun 2005 19:54

Re: Ini-Files: Vor und Nachteile und Alternativen
 
für einiges sind INI's gut für anderes, XML-Files und für wieder anderes ein eigenes Format wo eventuell alles binär hinter ein ander steht. Es kommt eben immer auf den Verwendungszweck an. Bei Ini's ist der nachteil das diese natürlich erst geparst werden müssen um einen Wert auszulesen (es muss ja erstmal geschaut werden wo das "=" und die gruppe "[gruppe]" etc. steht. Bei XML ist es nicht anders, dort ist nur der vorteil das auch binäres mit rein kann und die verschachtelung unendlich ist. Wenn es jedoch um geschwindigkeit geht ist auch eine einfache binärdatei nicht zu verachten wo man erst die länge des folgenden Textes abspeichert und dann den Text somit in einem rutsch lesen kann weil man nicht nach einem ende-zeischen suchen muss...
Wie mit globalen etc. kommt es eben immer darauf an was man vor hat (und jetzt bitte nicht vom thema abweischen und über globale anfangen zu diskutieren)

Zacherl 9. Jun 2005 19:55

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Hallo,
also ich verwende seit längerer Zeit eigentlich immer INI Dateien, da mir, wie oben genannt ganz einfach XML Dateien zu kompliziert sind und ini Dateien um Einstellungen zu speichern ihren Zweck voll und ganz erfüllen.

Florian

Speedmaster 9. Jun 2005 20:01

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von Florian Bernd
Hallo,
also ich verwende seit längerer Zeit eigentlich immer INI Dateien, da mir, wie oben genannt ganz einfach XML Dateien zu kompliziert sind und ini Dateien um Einstellungen zu speichern ihren Zweck voll und ganz erfüllen.

Florian

Durchaus richtig, allerdings eignen sich Ini-Files IMHO nur für Einstellungen von Max. 20 Zeilen. Dannach wird es sehr unübersichtlich. Das Problem hatte ich auch( Ja ich habe auch mal mit Ini's gearbeitet ), das waren 500 Zeilen Einstellungen und kaum noch zu überblicken.

Bei Vokabeln ist es eben genau so das man viele Einträge haben kann, und deshalb rate ich zu XML ( Kann ja passieren das man die Vokabeln so angucken möchte )!

mfg

Speedmaster

s.h.a.r.k 9. Jun 2005 20:04

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Ein Alternative wäre sicherlich auch Regitry-Einträge! Wie man allerdings damit arbeitet kann ich euch nicht sagen :mrgreen:

malo 9. Jun 2005 20:10

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von s.h.a.r.k
Ein Alternative wäre sicherlich auch Regitry-Einträge! Wie man allerdings damit arbeitet kann ich euch nicht sagen :mrgreen:

Schau mal hier :zwinker:

Allerdings sind Registry-Einträge, wenn überhaupt, nur für kurze Informationen geeignet. Allerdings machen weitere Registry-Einträge das ganze nur unnötig unübersichtlich. Ich empfehle keine Registry-Einträge. Und obwohl Verschachtlungen da auch recht leicht zu realisieren sind, empfehle ich lieber Ini-Dateien ;)

Speedmaster 9. Jun 2005 20:11

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von s.h.a.r.k
Ein Alternative wäre sicherlich auch Regitry-Einträge! Wie man allerdings damit arbeitet kann ich euch nicht sagen :mrgreen:

Ich weiss ja nicht ob das der Registry so gut tut wenn du 800 Vokabeln darin abspeicherst, den das dürfte mit der Zeit Windoff langsamer machen, und man kann sich die Daten nicht ohne weiteres Kopieren!

Benutzen tut man die soweit ich weiss so:
Delphi-Quellcode:
uses Registry;

[...]
var
  Reg: TRegistry;
begin
  Reg := TRegistry.create;
  Reg.OpenKey......

  [...]

  Reg.Free;
end;

r2c2 9. Jun 2005 20:17

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von s.h.a.r.k
Ein Alternative wäre sicherlich auch Regitry-Einträge! Wie man allerdings damit arbeitet kann ich euch nicht sagen :mrgreen:

Registry halte ich nicht für so ne tolle Lösung: Das müllt nur zu.
Registry is wichtig für:
- Dateiendungsregistrierungen
- OS einstellungen
- Shell registrierungen
- ...

Zu Einstelleungen speichern würd ich aus folgenden Möglichkeiten wählen:
- INIs (wenns nicht über 64KB geht)
- Textfiles(bei vielen strings gleicher Art, z.B. speichern des Inhalts einer ComboBox)
- Records & Streams
- DPCollectionDPCollection
- TRakBinaryStreamData

Bei sonstigen Daten:
- Records & Streams
- DPCollection
- TRakBinaryStreamData
- Datenbanken


mfg

Christian

s.h.a.r.k 9. Jun 2005 20:21

Re: Ini-Files: Vor und Nachteile und Alternativen
 
War ja auch nur n Vorschlag - ich selber nutz ja auch INI-Files, da halt die Registry nicht zugemüllt wird! (was auch irgendwie verständlich ist :wink: )

Es hieß ja im Titel "... und Alternativen" -> also hab ich mal eine gebracht - eine mehr oder weniger gute :oops:

:mrgreen:

bigg 9. Jun 2005 20:48

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Wenn überhaupt, dann so... :roll:

Delphi-Quellcode:
uses Registry;

[...]
var Reg: TRegistry;
begin Reg := TRegistry.Create;
try

if Reg.KeyExists() then..
if Reg.ValueExists() then..

[...]

finally
Reg.Free;
end;
end;


Es kommt halt immer auf die Komplexität, Lesbarkeit und Datenmenge an,
die es gilt zu speichern.

Die Registry ist wirklich nicht schlecht, um darin einige Daten zu speichern,
aber ich z. B. habe schon massive Performance-Probleme ca. 1000 Werte darin zu speichern.
(Erstreservierung ~ 1 Sekunde, @ 1,5 GHz)

Und das Windows dadurch zugemüllt wird, stimmt nicht. Es liegt vor allem am Programmierer,
der sich nur wenig oder gar nicht mit einer sauberen Deinstallation beschäftigt hat.

INI's sind auch nicht schlecht, haben aber auch Nachteile.
z. B. die 64 KB Beschränkung.

Abhilfe schafft da diese Lib.
Und dann wäre da noch das Problem, wo speichere ich die Datei?

In das Programmverzeichnis? Habe ich dort Schreibrechte?
Auf einer CD würde das schonmal nicht gelingen. :zwinker:

Hansa 9. Jun 2005 20:57

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von Speedmaster
...Durchaus richtig, allerdings eignen sich Ini-Files IMHO nur für Einstellungen von Max. 20 Zeilen. ...

Würde mal sagen, das ist so halb richtig. 8) Zweckentfremden kann man alles. Ich würde sie aber auch nur für Einstellungen verwenden. 20 Zeilen, das ist aber so gut wie gar nichts. Ich habe momentan 2 INIs. Die eine bleibt immer gleich, was die Zeilenanzahl betrifft. Die enthält Grenzwerte, die das Programm braucht, trotzdem aber nicht eincompiliert werden können, für den Fall, daß sie einem nicht passen.

Die zweite enthält die Form-Koordinaten, also pro Form 4 Werte. Da kommen leicht und locker 500 Zeilen zustande. Wird das Fenster vergrößert/verschoben usw. dann speichert die INI die letzten Koordinaten. Dazu brauche ich allerdings keine große Übersicht, denn das ist in meinen Forms direkt eingebaut. Die speichern selber ihre Koordinaten, wenn sie verändert werden. Es geht darum, daß jeder User seine Forms hinschieben kann wo er will. Beim nächsten Programmstart sind sie dann genau wieder da, wo sie zuletzt waren.

Ansonsten fällt mir kein Einsatzzweck für die Dinger ein. 8) Normale Daten würde ich jedenfalls nicht in einer Ini-Datei speichern. Gings nicht um Vokabeln ? Verstehe nicht ganz, was das mit INIs zu tun hat. Natürlich kann ich da "Pferd=horse" reinschreiben. Naja, probieren geht über studieren.

Robert_G 9. Jun 2005 21:02

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Für Delphi bietet sich doch auch das Delphi Streaming System an. Eine implementierung davon ist die wohl allseits bekannte dpCollection.
Und es dürfte wohl keinerlei Zweifel darin bestehen, dass die dpCollection einfacher und mächtiger als INIs ist.

Totti 9. Jun 2005 22:25

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Zitat:

Zitat von bigg
Wenn überhaupt, dann so... :roll:
Und das Windows dadurch zugemüllt wird, stimmt nicht. Es liegt vor allem am Programmierer,
der sich nur wenig oder gar nicht mit einer sauberen Deinstallation beschäftigt hat.

nunja,
ich hatte mich mal kurzfristig mit der reg beschäftigt und meine dabei mehrfach gelesen zu haben, dass die Reg sich immer witer ausdehnt.
Durch gelöschte Einträge freigewordener platz wird nicht überschrieben bei neuen Einträgen, diese werden einfach hinten drangehängt ...


wenn das stimmt, würde es wohl zutreffen, dass es ein zumüllen der Reg wäre ^^

Hansa 9. Jun 2005 23:44

Re: Ini-Files: Vor und Nachteile und Alternativen
 
Für diejenigen, die beabsichtigen Vokabeln und sonstigen Kram in die Registry zu schreiben :wall: zur Info : die wird beim Systemstart komplett geladen. Und ich glaube kaum, daß irgendjemand Malos Vokabeln noch braucht, um Windows noch langsamer zu machen. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.

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