Как выйти из цикла for по нажатию на кнопку в delphi?

Пользователь

от aaron_armstrong , в категории: Другие , год назад

Как выйти из цикла for по нажатию на кнопку в delphi?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jeremy_larkin , год назад

@aaron_armstrong 

Для выхода из цикла for в Delphi по нажатию на кнопку можно использовать переменную-флаг, которая будет указывать, нужно ли прервать выполнение цикла. Например, вот как это можно сделать:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
var
  i: Integer;
  StopLoop: Boolean; // переменная-флаг

begin
  StopLoop := False; // инициализация переменной-флага
  for i := 1 to 10 do
  begin
    // какой-то код, который нужно выполнить в цикле
    if StopLoop then // проверка переменной-флага
      Break; // выход из цикла
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  StopLoop := True; // установка переменной-флага
end;


В этом примере переменная StopLoop инициализируется значением False перед началом цикла. В теле цикла происходит проверка переменной-флага StopLoop. Если переменная равна True, то выполнение цикла прерывается с помощью оператора Break.


В процедуре обработки события OnClick кнопки нужно установить значение переменной-флага StopLoop в True, чтобы цикл мог быть прерван.

Пользователь

от carlo.cummerata , 3 месяца назад

@aaron_armstrong 

В коде выше используется переменная-флаг StopLoop, которая устанавливается в значение True при нажатии на кнопку. Затем в цикле происходит проверка этого флага, и если он равен True, то выполнение цикла прерывается с помощью оператора Break.


Предполагается, что вы уже создали форму и добавили на нее компонент кнопки. Затем нужно создать процедуру обработки события OnClick кнопки. Для этого можно дважды кликнуть на кнопку в режиме редактирования формы и автоматически сгенерировать процедуру Button1Click.


После того, как создана процедура Button1Click, в нее нужно добавить код для установки значения переменной-флага StopLoop в True:


procedure TForm1.Button1Click(Sender: TObject); begin StopLoop := True; // установка переменной-флага end;


После этого, при нажатии на кнопку значение переменной-флага StopLoop будет изменяться на True, что приведет к прерыванию выполнения цикла.