//Edit
//Da war ja jemand knapp schneller
//Kedariodakon hat vollkommen Recht
//Und der Code ist auch gleich dabei
//Edit
Wobei du dir aber überlegen solltest, ob es wirklich
FileName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('WinDir')) + 'TEMP\~TEMP.MID';
sein sollte, oder nicht doch eher
FileName := IncludeTrailingPathDelimiter(GetEnvironmentVariable('Temp')) + '~TEMP.MID';
Da der User ja als Temp-Dir nicht unbedingt %windir%\temp festgelegt haben muss; unter NT-basierten Systemen nicht mal standardmäßig hat.