Detect a keypress during a loop with Delphi

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;

No comments:

Post a Comment