![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как выйти из цикла? [D3, D6, Win95/98]
super_alex © (2003-02-07 12:35:00)Есть огромный цикл. Есть кнопочка stop. Как выйти из этого цикла при нажатии на кнопочку stop? Просто когда на неё жмёшь, прога ждёт когда кончится цикл, а потом делает то, что прописано в stop.OnClick.
bak (2003-02-07 13:10:00) [1]а через таймер ведь тоже можа, а? а через триды? Ж8-)
Sha (2003-02-07 13:04:00) [2]2 super_alex (07.02.03 12:47)
Чтобы цикл крутить быстрее, вызывай Application.ProcessMessages пореже, но вызывай.
Palladin (2003-02-07 13:00:00) [3]:)
а я еще и по другому могу
Var FlagStop: Boolean=False;
Procedure TForm1.Button1Click(Sender:TObject);
{ Запуск цикла }
Begin
While not FlagStop do Application.ProcessMessages;
End;
Procedure TForm1.Button1Click(Sender:TObject);
{ Кнопка "СТОП" }
Begin
FlagStop:=True;
End;
Song (2003-02-07 12:51:00) [4]Кстати сравнение нафик не нужно :)
Song (2003-02-07 12:50:00) [5]Var FlagStop: Boolean=False;
Procedure TForm1.Button1Click(Sender:TObject);
{ Запуск цикла }
Begin
Repeat
Application.ProcessMessages;
IF FlagStop then Break
Until FlagStop;
End;
Procedure TForm1.Button1Click(Sender:TObject);
{ Кнопка "СТОП" }
Begin
FlagStop:=True;
End;
Кот Бегемот (2003-02-07 12:49:00) [6]Ну штооо - в облом кинуть ламеру пару строчек - дааа ????
procedure TForm1.Button2Click(Sender: TObject);
var
i: cardinal;
begin
Br:=false;
for i := 0 to 100000 do
begin
GroupBox1.Caption:=IntToStr(i);
Application.ProcessMessages();
if Br=True
then begin
GroupBox1.Caption:="Breaked";
break;
end;
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
Br:=True;
end;
super_alex (2003-02-07 12:47:00) [7]Ладно уже разобрался.
Всем спасибо, за обучение зелёных.
Palladin (2003-02-07 12:45:00) [8]блин!
куда уж подробней!!
Anatoly Podgoretsky (2003-02-07 12:44:00) [9]Это ты не понял, Break выход из цикла, как обработать кнопки тебе тоже сказали.
Но если ты считаешь, что все таки не поняли, объясни внятно, так как будто ты разговариваешь с трехлетним ребенком, а не с телепатами.
super_alex (2003-02-07 12:43:00) [10]А по подробнее можно! Я начинающий программер...
Александр С. (2003-02-07 12:40:00) [11]Application.ProcessMessages добавлять в теле цикла,
для обработки других сообщений.
Palladin (2003-02-07 12:40:00) [12]вставь в цикл Application.ProccessMessages
и условие if bStopMe then break;
bStopMe ставишь в False перед циклом
а на событии OnClick кнопки выставляешь его в True
super_alex (2003-02-07 12:40:00) [13]Не, Вы не поняли...
Цикл запускается при нажатии на другую кнопочку, а выйти из него надо при нажатии на кнопку stop!
Anatoly Podgoretsky (2003-02-07 12:38:00) [14]Break выход из цикла