Also meine Struktur stellt einen RIFF-Chunk dar (Wave-Dateien).
Delphi-Quellcode:
type
TID = array[0..3] of Char;
TChunk = record
ID: TID;
Size: LongWord;
Stream: String;
end;
TChunks = array of TChunk;
Also ID ist ein 4 Byte String, Size gibt die Größe des Stream an und Stream ist der entsprechende Stream als String (wurde mit SetLength() auf die Größe gesetzt, die auch in Size steht).
//Edit:
und in dem Fall jetzt, fasse ich Chunks zusammen und schreibe diese in einen "übergeordneten Chunk", also ein übergeordneter Chunk erhält als Stream der Reihe nach ID,Size,Stream der untergeordneten Chunks.
Dabei gab es eben das Problem, den LongWord in String umzuwandeln, sprich: die Größe eines untergeordneten Chunks an den Stream des übergeordneten Chunks anhängen.