Dein byteweises Einlesen ist ziemlich umständlich aund langsam.
Ich würde die komplette MIDI-Datei als String einlesen (auf einen Rutsch) und dann auswerten.
Delphi-Quellcode:
function FileToString(const FileName: AnsiString): AnsiString;
var
FS: TFileStream;
Len: Integer;
begin
FS := TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
try
Len := FS.Size;
SetLength(Result, Len);
if Len > 0 then
FS.ReadBuffer(Result[1], Len);
finally
FS.Free;
end;
end;
MIDIdaten := FileToString('Highway to Hell.mid');
Danach kannst du ganz bequem auf jedes Zeichen (bzw. Byte) zugreifen.
[edit=mkinzler]Cache refresh Mfg, mkinzler[/edit]
[edit=Matze]BBCode aktiviert. MfG, Matze[/edit]