![]() |
Re: LightWeight XML-Unit gesucht
Zitat:
![]() |
Re: LightWeight XML-Unit gesucht
Ich denke, ich setze mich mal hin und nutze mal intensiv deine Klassen um eine nonVCL, lightweight XMLLib zu erstellen.
|
Re: LightWeight XML-Unit gesucht
Liste der Anhänge anzeigen (Anzahl: 1)
Alternativ gäbe es da noch eine Unit die sich SimpleXML nennt. Ich habe mit dieser Unit noch nicht gearbeitet, aber sie ist recht schlank und konzentriert sich wirklich nur auf das wesentliche.
Eine Frage noch, warum setzt du grade auf XML?. Um ein paar Benutzer-Profile zu sichern, sollte das INI-Konzept doch völlig ausreichen? :gruebel: |
Re: LightWeight XML-Unit gesucht
Weil eine XML-Datei dafür geeigneter ist. Guck dir einfach mal meine XML-Datei aus dem ersten Posting an.
|
Re: LightWeight XML-Unit gesucht
@bigg: kannst du mir sagen (übersetzen) unter welcher Lizenz SimpleXML steht?
Ich kann mit den ganzen vmtl. russischen Sonderzeichen nix anfangen und eine solche Klasse wäre auch für mich nicht uninteressant. Ansonsten warte ich einfach auf Muetze :mrgreen: |
Re: LightWeight XML-Unit gesucht
Die Unit hatte ich vor einigen Jahren mal bei Torry entdeckt und es gibt sogar noch eine aktuellere Version:
![]() PS: Die russischen Kommentare kann ich dir nicht mal ansatzweise übersetzen, aber eins ist sicher es ist freeware. @Luckie: Die Notwendigkeit zur Verwendung von XML kann ich imho nicht erkennen:
Code:
Eigentlich ein Musterbeispiel, um mit INI's umzugehen...
[Administrator]
Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Debugger Users, Debuggerbenutzer, Administratoren" [ASPNET] Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Debugger Users, Debuggerbenutzer, Administratoren" [GAST] Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Gäste" [Hilfeassistent] Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Gäste" [Michael] Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Gäste" [SUPPORT_388945a0] Fullname = "" Description = "" HomeDir = "" ScriptPath = "" CantChangePW = 0 AccountExpires = -1 MustChangePW = 0 AccountIsDeactivated = 0 AutoLogin = 0 IsAccountHidden = 0 Groups = "Gäste" PSPS: Solltest du dennoch bei XML bleiben, würde ich noch an der Lesbarkeit des Documents schrauben. Dies ließe sich erreichen, in dem du alle Attribute eines Schlüssels auch als Properties speicherst:
Code:
<Account name="XYZ" UserMustChPW="0" ... >
|
Re: LightWeight XML-Unit gesucht
Nja aber so ganz unerheblich ist eine Lizens nicht, da, wenn der Code unter der GPL steht, das ganze Projekt unter der GPL stehen müsste etc.
Aber in diesem Fall ist das nicht der Fall :mrgreen: Von Google aus dem russischen übersetzt: ----------------------------- Licence Restrictions exist. The library is free and can be used for any purpose. Allowed any changes and the use of modified libraries without restrictions. The only requirement : my commentary, which appeared in the top SimpleXML.pas should be unchanged in all versions library. All copyrights to the library by myself, that is, Mikhail Vlasov. ----------------------------- |
Re: LightWeight XML-Unit gesucht
Kleine Zwischenfrage:
Zitat:
|
Re: LightWeight XML-Unit gesucht
So, bin nun fleissig dabei eine nonVCL Version zu tippen. Ich habe noch zwei Problemfälle und bräuchte daher Vorschläge von euch dazu:
1. SysUtils: Exception. Wie kann ich mein Exception Handling anders machen? Ansonsten müsste ich hier richtig böse mit Rückgabewerten und Exits arbeiten. Gibt es dazu eine Alternative in nonVCL? 2. Classes: TStream. Deren Ableitungen sind kein Problem. Wenn ich die Library nicht einschränken will auf Dateien, dann bräuchte ich dafür entsprechenden Ersatz. Gibt es dort entsprechende Ansätze? Ansonsten stell ich das einfach auf WinAPI direkt um, dann aber nur noch Dateien möglich. @Hador: Deine TObjList kann man aber noch deutlich verschnellern, wenn man einen Pointer verwendet und mit Move() arbeitet. Ein Array Of XXX ist durch das umkopieren nicht gerade eine günstige Wahl. Wenn die anderen beiden Probleme geklärt sind, dann mach ich das mal. |
Re: LightWeight XML-Unit gesucht
@bigg: Nun ja, gerade das mit den Gruppen finde ich etwas blöd, wenn ich die durch Kommas getrennt ablegen müsste. Da finde ich die XML Lösung doch besser. Und alle Attribute als Eigenschaften speicher, erhöht meiner Meinung nach nicht die Lesbarkeit, da ich dann eine lange Zeile hätte.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:24 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