Ständige Wiederholungen von immer gleichem Code; das ist schlecht!
Mach' Dir eine Unterfunktion, die für jeden Midinote den Namen der Wav-Datei liefert:
Delphi-Quellcode:
function MidiNote2Wav(note:integer):string;
begin
case note of
12 : Result := 'C0.WAV';
13 : Result := 'C#0.WAV';
14 : result := 'D0.WAV';
[...]
117 : result := 'A8.WAV';
end;
end;
Und dann baust du noch eine Prüfung ein ob die Datei überhaupt existiert:
Eine Unterfunktion macht doch im Endeffekt nichts anderes, und dabei noch einen Function-Call ... klingt langsamer.
Zudem das mit dem "normalen" Datei nicht vorhanden ja irgendwie nicht sein kann. Denn ich habe ja oben gepostet:
Fester Pfad, nichts zu rütteln.
Playsomething -> spielt etwas ab.
MIDI öffnen, auf Play klicken -> Fehlermeldungssounds erscheinen -> Stop.
Playsomething -> aufeinmal findet es die Datei nicht mehr...
Bei dem was du umgeschrieben hast würde er mir nur nochmal sagen das die Datei spurlos verschwunden ist.