Detect a keypress during a loop

procedure TForm1.Button1Click(Sender: TObject);
var
LoopAborted: Boolean;
i: Integer;
begin
LoopAborted := False;
i := 0;
repeat
Caption := IntToStr(i);
Application.ProcessMessages;
if GetKeyState(VK_Escape) and 128 = 128 then
begin
LoopAborted := True;
Break;
end;
Inc(i);
until i = 100000;
if LoopAborted then
ShowMessage(‘User has aborted the loop!’);
end;

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: