Zapis do strumienia

0

Mam pytanie : w jaki sposob, po zapisaniu danych do strumienia, ustawić pozycję na 0 i "dopisać" dane na początku? Bo jak zrobie

 Stream.Position:=0 ; 
Stream.Write(header, sizeOf(header));

(stream to TmemoryStream a header to rekord o stalej wielkosci) to niestety "nadpisuje" dane, tzn pierwsze 265 bajty (taki jest rozmiar naglowka) nadpisuje, a ja bym chcial aby dodawalo, tzn zeby struktura byla [naglowek][dane] , a nie [naglowek][dane_mniejsze_o_wielkosc_naglowka]

0

Raczej ciężko. Najlepszym wyjściem jest zapisywać po kolei (taka jest idea strumieni (jak sama nazwa wskazuje)). Jeśli koniecznie chcesz tak jak mówisz, to albo:

  1. przesuwasz wszystkie dane o te 256 bajtów
  2. tworzysz drugi TStream, gdzie najpierw zapisujesz nagłówek, a potem ten pierwszy strumień.

1 użytkowników online, w tym zalogowanych: 0, gości: 1