ОМГ вы опять друг другу мозг выносите)))) stepashka все очень просто!
объявляем глобальную переменную:
PHP код:
Form1: TForm1;
Stop: Boolean = False;
вот сам цикл:
PHP код:
procedure TForm1.Button1Click(Sender: TObject);
i:integer;
begin
Button2.Enabled:=True;
Button1.Enabled:=False;
Stop:=False;
for i:=1 to n do
begin
//тут код
Application.ProcessMessages;
if not stop then break;
end;
end;
вот код остановки:
PHP код:
procedure TForm1.Button2Click(Sender: TObject);
begin
Stop:=True;
Button2.Enabled:=False;
Button1.Enabled:=True;
end;
и усе))) для тех кто решит спросить зачем я делал вот так:
PHP код:
Button2.Enabled:=False;
Button1.Enabled:=True;
для того что бы в случае срабатывания этого кода:
PHP код:
Application.ProcessMessages;
не было возможности заново запустить цикл!
дополняю:
А for ... to ... do как остановить и потом продолжить?
для этого можешь начальную позицию цикла объявить в глобальной переменной! и потом при нажатии он будет продолжать с того места, где закончил, например:
объявляем глобальную переменную:
PHP код:
Form1: TForm1;
Stop: Boolean = False;
k:integer;
теперь, при остановке цикла, переменная будет оставлять свое значение там где остановилась... а чтобы обнулить можешь сделать 3 кнопку, которая будет обнулять счетчик
вот код для первой кнопки с самим циклом:
PHP код:
procedure TForm1.Button1Click(Sender: TObject);
i:integer;
begin
Button2.Enabled:=True;
Button1.Enabled:=False;
Stop:=False;
for i:=k to n do
begin
//тут код
Application.ProcessMessages;
if not stop then break;
k:=k+1;
end;
end;
тем самым, если остановили, то в k останется то значение, на котором остановились!
пы сы еси есть какие то недочеты, то не ругайте, писал на пьяную голову
