Entwickler-Ecke

Dateizugriff - Bilder in TFilestream speichern


umpani - Di 16.09.03 18:11
Titel: Bilder in TFilestream speichern
Hallo zusammen,

ich habe ein Problem,

ich benutze einen TFilestream um Daten zu Speichern:

Delphi-Quelltext
1:
Stream.Write(raeume.aniobjekte[i].dauerpos , SizeOf(raeume.aniobjekte[i].dauerpos));                    

Ich möchte in den selben Stream aber auch Bilder speichern, was auch ganz gut funktioniert:

Delphi-Quelltext
1:
raeume.aniobjekte[i].images.Items[k].Picture.bitmap.savetostream(stream);                    

Aber wie kann ich jetzt diese Bilder wieder auslesen? Delphi weiss ja gar nicht, wie groß das Bild ist, was ausgelesen werden soll?

Muss ich beim speichern u.U. die Größe (in Bytes) des Images mit Angeben? Wenn ja, wie?


aogwaba - Di 16.09.03 20:58

Zitat:
Muss ich beim speichern u.U. die Größe (in Bytes) des Images mit Angeben? Wenn ja, wie?

Nein musst du nicht, die Streamroutine erledigt das, die liest die Informationen aus dem File. Zum lesen musst du nur den Stream positionieren. Wenn du wahlfrei auf die Bitmaps zugreifen willst, solltest du einen Index anlegen.

cu
waba


fmartiins - Mi 17.09.03 16:55

zwei überlegungen:
Schlimmestenfalls in einem Probelauf probieren.
Daumendruck!!


mimi - Mi 17.09.03 17:33

ich habe eine unit geschrieben wo man mehre dateien in einer tuen kann. alles mit TFileStream, wenn du willst kann ich sie dir senden. es gibt funktionen zum entpack auf der platte und in dem ram(also ohne das die datei erst auf die platte gespeichert wird)


umpani - Mi 17.09.03 17:56

Danke für das Angebot, hat aber alles funktioniert. Mein Fehler lag woanders.