Ganz simpel wäre ein Sleep. Nur ist dann so lange die Oberfläche nicht bedienbar.
Sleep einfach kombininieren mit einem Application.ProcessMessages
Delphi-Quellcode:
procedure ResponsiveSleep(SleepTime: LongInt);
Var
FinalTick : QWord;
begin
FinalTick := GetTickCount64 + SleepTime;
while GetTickCount64 < FinalTick do
begin
Sleep(10);
Application.ProcessMessages;
end;
end;