das ist eine ungünstige variante:
Bytes: array[0..10000] of byte;
Du solltest lieber einen Record verweden, welche die einzelnen Feld mit Namen definiert.
Pseudocode:
Delphi-Quellcode:
type
midi = packed record
// MIDI File Header Chunk
Header: array[1..4] of char;
// Headerlänge
HeaderSize: cardinal; // hier evtl. auf little/big endian achten!
[...]
end;
Dann wenn du es nutzt initialisieren -> also in rec.header den String schreiben.
Wenn du die Daten dann weiter nutzt brauchst du nur den Zeiger auf den Record weiterverarbeiten.
Bei dem Datenaufbau, wirst du mehrere Records brauchen bzw. diese sind dann nützlich.