Herzlich Willkommen in der DelphiPraxis!
Du kannst die OnKey-Ereignisse sehr leicht deklarieren, wenn du im Objektinspektor doppelt auf sie klickst.
Aber: Wenn du innerhalb deiner Schleife bist, wird dein Programm normalerweise nicht auf Tastatureingaben reagieren, da es voll mit der Schleife zu tun hat. Deshalb solltest du in der Schleife hin und wieder ein
Application.ProcessMessages
aufrufen. Damit erreichst du, das deine Anwendung auf die Events reagiert, die Windows ihr vermeldet hat. Dann kannst du in der OnKeyXXX-Procedure ein globales Flag setzen, um deine Schleife zu beeenden.
Das ist aber
imho ein unschöne und unübersichtliche Programmier-Art. Besser wäre an dieser Stelle ein Thread, der dein Schleife bearbeitet.
//edit: Sinnvollerweise solltest du den Key-Paramter der in den OnKey-Routinen übergeben wird auserten.