Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#22

Re: INI, Registry, ThaXML-Library was ist sinnvoll

  Alt 26. Feb 2008, 16:26
Zitat von Hansa:
Wer ist Raymond Chen ? Egal, ich sehe das jedenfalls anders als der. Soll etwas deinstalliert werden, dann muss auch alles weg, was VOR der Installation noch nicht da war. Wozu soll man da irgendwelchen Müll zurücklassen, den keiner mehr braucht ?[...]
Stimmt, nur sollte dem Benutzer die Entscheidung gegeben werden die Persönlichen Daten zu löschen (z.B. Speicherstände, Messergebnisse oder ähnliches).

Zitat von Hansa:
[...]Wo sollte die INI hin ? Bei mir liegt die genau in dem Odner, wo auch das Programm ist. Und das ist normalerweise einfach ein Verzeichnis. Erkläre mir mal einer, worin der Vorteil besteht, das Ganze in einem Ordner mit ellenlangem Namen zu speichern, den später eventuell keiner mehr findet.[...]
Der Pfad ist ellenlang: "%appdata%" ?
Es ist guter Programmierstil es nicht im Programmverzeichnis zu schreiben, uns sehr guter Stil, wenn man es den Benutzter überlässt.

Und der Vorteil? Zum einem das die Datei Benutzerspezifisch ist und zum anderen und das ist viel wichtiger: Als normaler Windowsuser also nicht Admin, hat man, besonders bei installierten Programmen, unter Umständen keine schreibrechte auf den Ordner?
Sollte das Programm aber Schreibrechte benötigen wird es nicht benutzt. Besonders seit Vista wird glücklicherweise mehr zwischen User und Admin unterschieden.
Die einzigen Programme, die weiterhin benutzt werden obwohl sie das nicht (zu 100%) unterstützen sind Turbo Delphi (MainMenu-Editor) und SWAT 4. Ansonsten kenne ich keine Programme, die nicht wieder runtergeflogen sind.

Den Nachteil den du Anführst wird nichtig, wenn du die Entscheidung hast. Als Standardbenutzter (also schön mit allen möglichen Rechten) gönnst du dir dann das speichern im Programmordner. Diejenigen die von sich aus die Chance wahrnehmen und sie die Adminrechte entziehen, können dass dann weiterhin verwenden.
Und ansonsten gäbe es auch andere Möglichkeiten (ich habe z.B. A.D.C. programmiert) Benutzerspezifische Daten zu löschen.

Back to Topic:
Wenn du nur einfache eindimensionale Strukturen hast, sollte INI reichen. Ansonsten würde ich XML verwenden.
Also wenn du sowas speicherst:
  • Breite
  • Loginname
  • Eigene Website
Da reicht INI vollkommen, sobald du aber diese Struktur verlässt, oder Aufzählungen hast, wäre XML möglicherweise besser.
Da ich nun gerne programmiere habe ich, um Schreibarbeit bei XML zu sparen, so etwas auf der Basis von INI gemacht.
Zum Beispiel hast du ein Adressbuch.
Ich würde dann folgendermaßen das machen:
Zitat:
[Adressbook]
Count=2
Entry[0].Name=John Doe
Entry[0].Adress.Street=Musterstrasse 123
Entry[0].Adress.Town=Musterort
Entry[1].Name=Jane Doe
Entry[1].Adress.Street=Musterstrasse 456
Entry[1].Adress.Town=Musterort
Die Registry würde ich generell meiden.

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat