Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#5

Re: In Stream schreiben und lesen ?

  Alt 25. Jun 2008, 13:48
Zitat von guidok:
Schau doch mal bei Delphi Treff Tutorial - Streams da erfährst du einiges über den Umgang mit Streams.

Grundsätzlich ist es bei Streams so, dass du KEIN Datenformat mit abspeicherst, d.h. es wird einfach ein Byte nach dem anderen abgelegt. Was du dann draus machst ist dir überlassen.

Ein Beispiel:

Du willst einen String in einen Stream schreiben, dann schreibst du zunächst die Größe des Strings in den Stream und anschließend den String selbst.

Beim Lesen liest du zuerst die am Anfang des Streams stehende Länge ein und anschließend weißt du wieviele Byte an Daten noch für den String folgen und gelesen werden müssen.

In deinem Fall (wenn ich das richtig verstanden habe) schreibst du als erstes die Anzahl Icons in den Stream und danach ein Icon nach dem anderen. Das geht so nur, wenn die Größe der Icons fest steht und konstant ist.

Zum Lesen, als erstes die Anzahl der Icons aus dem Stream lesen und dann blockweise (Blockgröße = Icongröße) ein Icon nach dem anderen.
Der Vollständigkeit halber, falls die Größe der Icons (oder irgendwelcher Daten) variabel ist, dann sieht dein Stream folgendermaßen aus:

Anzahl der Icons im Stream
Größe des ersten Icons
Daten des ersten Icons
Größe des zweiten Icons
Daten des zweiten Icons
...
Größe des letzten Icons
Daten des letzten Icons
  Mit Zitat antworten Zitat