Home » Tutorials » Datenspeicherung » Binäre Dateien

Binäre Dateien

Downloads

Packages

RakSrcD5.zip (Delphi5)
RakSrcD6.zip (Delphi6)
RakSrcD7.zip (Delphi7)
RakSrcD2005.zip (Delphi2005)
RakSrcDx.zip enthält mehrere Units, u.a. die Unit RakBinarySreamData. Diese enthält die Klassen, mit denen man beliebige binäre Daten leicht in Dateien oder Streams speichern kann.
Die Unit benötigt noch andere Units, die alle in der Zip-Datei enthalten sind.

Tutorial

KontaktManagerRumpf.zip KontaktManagerRumpf.zip enthält den Sourcecode auf dem das Beispiel des Tutorial aufsetzt.
Bei den Beispielanwendungen findet man den Sourcecode des fertigen Beispiels.

Beispielanwendungen

KontaktManager.zip KontaktManager.zip enthält den Sourcecode der Versionen 1.0, 1.1 und 1.2 des Beispiels, das in dem Tutorial entwickelt wird.
SimpleRakBinaryStreamDataExample.zip SimpleRakBinaryStreamDataExample.zip enthält ein einfaches Beispielprogramm, das zeigt, wie man verschiedene Daten mit den Klassen aus der Unit RakBinaryStreamData in einer Datei speichert.
Das Beispielprogramm speichert einen String, einen Integer, einen Float, einen Boolean und ein TBitmap in einer Datei.
TRakBinaryBlobExample.zip TRakBinaryBlobExample.zip enthält ein einfaches Beispielprogramm, das zeigt, wie man die Klasse TRakBinaryBlob einsetzen kann.
TRakBinaryRTTIExample.zip TRakBinaryRTTIExample.zip enthält ein Beispielprogramm, das zeigt, wie man unter Ausnützung von RTTI-Informationen mit sehr wenig Code auch sehr komplexe Objektstrukturen abspeichern und laden kann.
Durch den Aufruf einer Methode von TRakBinaryStreamData werden für fast alle published Properties eines Objektes automatisch Attribute angelegt. Wenn ein Property eine Klasse als Typ hat, dann wird dafür ein eigener Untertag angelegt und darin dann wieder Attribute für dessen published Properties.
Der umgekehrte Weg funktioniert natürlich auch mit dem Aufruf einer Mehtode.
Falls das Defaultverhalten dieser Methoden Schwierigkeiten bereiten sollte, dann ist es möglich das Defaultverhalten gezielt zu ändern.
Dafür gibt es zwei prinzipielle Wege, einen objektorientierten und einen weniger objektorientierten. Für beide Wege enthält TRakBinaryRTTIExample.zip ein Beispiel.
Editor.zip Editor.zip enthält den Sourcecode des Tools, mit dem jede von TRakBinaryStreamData erzeugten Dateien betrachtet und editiert werden können.
Damit man das Programm übersetzen kann benötigt man die Komponenten von Kasparsoft (RakVclD5.zip / RakVclD6.zip).

Edit-Tool

RakBinaryStreamDataEditor.zip
(Version 1.0.1)
RakBinaryStreamDataEditor.zip enthält ein kleines Tool, mit dem alle von TRakBinaryStreamData erzeugten Dateien betrachtet und editiert werden können.
Problematisch ist momentan noch das Editieren, wenn sich jemand die Mühe gemacht hätte, von den Attribut-Klassen eigene Klassen abzuleiten. Dies wird in der Praxis aber wahrscheinlich nicht oft vorkommen. Wenn ich entsprechende Rückmeldung bekomme, dann werde ich das Tool so erweitern, dass man auch derartige Dateien problemlos editieren kann.
Der Sinn des Tools
Das Tool soll einem beim Debuggen unterstützen.
Wenn z.B. das Laden einer Datei nicht klappt, dann kann man mit dem Tool die Datei öffnen und überprüfen, ob überhaupt alle benötigten Daten in der Datei gespeichert wurden.
Wenn man will kann man dann mit Hilfe des Tools die fehlenden Daten von Hand einfügen oder gezielt einige Daten verändern oder löschen.