Komfortabler Dateimanager mit vielen Funktionen

Aufbruch in das XML-Land

By Sven on 20.03.2005 - 15:22 in SpeedCommander 11

Das Speichern der Programmeinstellungen in der Registrationsdatenbank hat sich zwar mittlerweile durchgesetzt, doch für mobile Anwendungen entstehen damit auch einige Nachteile. Beim Start auf fremden Systemen sieht z.B. SpeedCommander so jungfräulich frisch aus wie nach einer Neuinstallation. Man kann als Parameter zwar einen vorher exportierten Registrationsauszug übergeben, den SpeedCommander beim Start in die hiesige Registrationsdatenbank einträgt und nach dem Beenden selbständig wieder löscht. Allerdings verfallen hier wieder alle während des Betriebes geänderten Einstellungen. Auch bei einer Neuinstallation von Windows bzw. dem Zurückspielen eines Images sind alle davor geänderten Einstellungen wieder weg.

Mit dem Update des Xtreme Toolkit Pro auf die Version 9.60 führte Codejock ein cleveres System zur Speicherung von Einstellungen ein. Die Basis ist eine Klasse CXTPPropExchange, die alle grundlegenden Funktionen zum Lesen und Schreiben von Daten unterschiedlicher Typen enthält. Zur Umsetzung auf den jeweiligen Ausgabetyp sind davon dann die Klassen

  • CXTPPropExchangeArchive
  • CXTPPropExchangeRegistry
  • CXTPPropExchangeXMLNode
  • CXTPPropExchangeIniFile

abgeleitet. Sämtliche Objekte speichern ihre Daten über die Klasse CXTPPropExchange, ihnen ist es egal, ob die Serialisierung nun in eine binäre Datei, in die Registry, in eine INI-Datei oder in eine XML-Datei geschieht. Die Entscheidung dafür liegt dann in der Hand des Anwendungsprogrammierers.

Diese Idee hat mich so begeistert, dass ich für SpeedCommander 11 und Squeez 5 nun endlich einmal die Umstellung auf XML in Angriff genommen und nach einer Woche auch erfolgreich zum Abschluss gebracht habe. Fast alle Einstellungsdaten werden nun leserlich in eine XML-Datei geschrieben. Übrig bleiben nur noch die Tastenkürzel und die Einstellungen für das Menü und die Symbolleisten, die in binäre Dateien gespeichert werden. Zwar ist hier eine Umstellung auf XML auch möglich, allerdings ist es doch ein wenig Overkill, angepasste Symbole mit Base64 zu kodieren und in einer XML-Datei abzulegen.

Es gibt 3 Kommentare zu diesem Beitrag

Trackback URL | RSS-Feed für Kommentare

  1. Thommy sagt:

    Sowas nettes gibt es auch in freier Wildbahn: http://www.codeproject.com/csharp/ReadWriteXmlIni.asp – für den geneigten Leser 🙂

  2. Uwe sagt:

    Aber Thommy, der Sven ist doch viel zu konservativ für C#…

  3. Sven sagt:

    Da möchte ich dem Uwe nicht widersprechen. 😉

Top