Parar um loop pressionando uma tecla
Existe por exemplo uma opção que é utilizar uma variável global boolean que é alterada no evento OnClick, outra opção, que é a utilizada nesta dica, consiste em ler o estado da tecla no loop, para saber se ela é ou não pressionada:
var
i: integer;
begin
for i := 0 to 9999999 do
begin
Label1.Caption := IntToStr(i);
{.... corpo principal do loop ...}
Application.ProcessMessages;
{ tecla ESC para o loop }
if GetKeyState(VK_Escape) and 128=128 then
break;
end;
end;