Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi INI, Registry, ThaXML-Library was ist sinnvoll (https://www.delphipraxis.net/109092-ini-registry-thaxml-library-ist-sinnvoll.html)

Luckie 26. Feb 2008 12:10

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

Das Ereignis OnShow wird ausgelöst, wenn das Formular angezeigt wird (d.h., wenn die Eigenschaft Visible des Formulars auf True gesetzt wird).
Da du in OnShow jedesmal die Koordinaten aus der Ini liest und setzt, wird das Fenster rumspringen, wenn die Eigenschaft Visible auf True gesetzt wird.

xZise 26. Feb 2008 15:26

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

Zitat von Hansa
Wer ist Raymond Chen ? :shock: Egal, ich sehe das jedenfalls anders als der. :mrgreen: 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:

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

Hansa 26. Feb 2008 17:09

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
Liste der Anhänge anzeigen (Anzahl: 1)
@Luckie ; was zum Teufel springt denn da rum ? :shock: Siehe Anhang. Der Ini-Code von weiter oben steckt da drin.

Luckie 26. Feb 2008 17:21

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

---------------------------
Project1
---------------------------
In FENSTER.INI kann nicht geschrieben werden.
---------------------------
OK
---------------------------
Und jetzt?

Hansa 26. Feb 2008 17:26

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
Tja, da sieht mans. :zwinker: Halte dich gefälligst an die MS-Regeln. :mrgreen:

Luckie 26. Feb 2008 17:33

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
Ich denke eher du solltest dich an die MS Regeln halten. Desweiteren hab eich im Dowloadverzeichnis Schreibrechte und an welche Regeln halte ich mich da nicht?

xZise 26. Feb 2008 18:12

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
BOAR was is'n das fürn Stil xD
Programme die man mit'm Taskmgr abschießen muss :shock:

MfG
xZise

Hansa 27. Feb 2008 01:53

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
Vorab : Das hier soll kein MS-Bashing werden ! Muss das mal klarstellen, weil das eventuell so aussieht. Zumindest von meiner Seite aus ist M$ eher zweitrangig. Aber die sollen praktikable Lösungen anbieten und nicht irgendwelche theoretischen Vorschriften ! Das würde ich auch Bill Gates so sagen.

Mir ist abweichend von der Hauptfrage aber noch folgendes aufgefallen : die EXE im Anhang oben geht schon so. Da springt nichts. Allerdings kommt tatsächlich der von Luckie gemeldete Fehler. Da fehlen offensichtlich Schreibrechte. Ich wollte der Sache deshalb jetzt mal etwas auf den Grund gehen. Also : Admin legt User "Test" neu an (beim Admin geht sowieso alles) -> die EXE wird in %homepath% kopiert (die von User "Test"). Admin meldet sich ab und User Test wird neu angemeldet. Hat aber ansch. auch keine Schreibrechte (Fehler bleibt wie gehabt). Zumindest dieselbe Fehlermeldung. Abhilfe wäre jetzt das, was fast jeder sowieso macht : User=Admin. Wozu dann aber überhaupt Rechte/User ? Dann habe ich mir die Rechte des Users "Test" angesehen und stelle fest : es gibt nur Admins und User mit beschränkten Rechten zur Auswahl (XPpro SP2). Das war doch früher anders oder nicht ? :shock: Habe in Benutzerkonten, Freigaben, Verwaltung usw. nichts gefunden. Wo vergebe ich denn jetzt Rechte für genau benannte Verzeichnisse ? Ich muss doch dem User "Test" ein Verzeichnis zuordnen können, wo er was abspeichern kann.


Zu guter Letzt noch das hier :

Zitat:

Zitat von xZise
BOAR was is'n das fürn Stil xD

Das frage ich mich in der Tat auch. Ist jemand, der einen solchen Schreibstil hat, überhaupt in der Lage zu programmieren ? :mrgreen:

Und das :

Zitat:

Zitat von xZise
Programme die man mit'm Taskmgr abschießen muss :shock: ...

Tatsache ist, es soll ein Fenster geschlossen werden, welches Fehler anzeigt und der DAU erkennt nicht, dass nicht das fehlerverursachende Fenster geschlossen werden muss, sondern das Programm an sich, um weiterzukommen. Siehe Kontext. Genau das ist übersehen worden und deshalb kommt die Brechstange. 8) Ein Delphi Programmierer, der den Quelltext der fehlerverursachenden Stelle vor sich hat, der hätte anhand von "Form1" bzw. "Form2" gemerkt, dass der Taskmanager für solchen Kleinkram überflüssig ist. Dürfte allerdings zuviel verlangt sein.

mkinzler 27. Feb 2008 07:57

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

Zumindest dieselbe Fehlermeldung. Abhilfe wäre jetzt das, was fast jeder sowieso macht : User=Admin. Wozu dann aber überhaupt Rechte/User ?
Man könnte den Besitzer des Verzeichnisses auch auf den gewünschten Benutzer setzten bzw. ihm Schreibrechte darauf gewähren.
Zitat:

Dann habe ich mir die Rechte des Users "Test" angesehen und stelle fest : es gibt nur Admins und User mit beschränkten Rechten zur Auswahl (XPpro SP2). Das war doch früher anders oder nicht ?
ist auch in XP SP2 so.
Zitat:

Wo vergebe ich denn jetzt Rechte für genau benannte Verzeichnisse ? Ich muss doch dem User "Test" ein Verzeichnis zuordnen können, wo er was abspeichern kann.
Im Kontextmenü unter Eigenschaften->Sicherheit bzw. Eigenschaften->Sicherheit->erweitert->Besitzer.

Luckie 27. Feb 2008 08:12

Re: INI, Registry, ThaXML-Library was ist sinnvoll
 
@hansa: Und wo will dein Programm die Ini-Datei abspeichern? Im Programmverzeichnis wohl nicht, denn da habe ich Schreibrechte, da es in diesem Fall das Downloadverzeichnis war.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 Uhr.
Seite 3 von 4     123 4      

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