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