Hola, pues supongo que como se sale de los demás bucles, con la sentencia Break;
Puedes hacer los siguiente:
- Tener una variable de tipo boolean: Estado => true = en marcha; false = parar
- Y dos botones (luego se puede hacer más complicado, con tres botones: play, pause, stop, p.ej) Play - Stop
En el OnClick del Stop pones la variable a False
Y dentro del bucle haces lo siguiente:
Código Delphi
[-]
Estado := True;
do
..... Application.ProcessMessages;
if Estado = False then Break;
while
procedure TForm1.StopClick(Sender: TObject);
begin
Estado := False;
Application.processmessages;
end;
De esta forma mientras se ejecute el bucle, puedes pulsar Stop para pararlo.
Espero te sirva.
Saludos