подскажите пожалуйста
у меня сейчас бесконечный цикл, я хочу сделать выход из этого цикла по нажатию кнопки, как это сделать?
цикл, возник один вопрос |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
цикл, возник один вопрос |
iriska_2 |
Сообщение
#1
|
Гость |
подскажите пожалуйста
у меня сейчас бесконечный цикл, я хочу сделать выход из этого цикла по нажатию кнопки, как это сделать? |
Гость |
Сообщение
#2
|
Гость |
может я некорректно задала вопрос
как проверить нажата кнопка или нет? |
мисс_граффити |
Сообщение
#3
|
просто человек Группа: Пользователи Сообщений: 3 641 Пол: Женский Реальное имя: Юлия Репутация: 55 |
можно чуть подробнее?
где этот цикл, к чему он привязан? внутри какого-то обработчика события? вариант использования RadioButton или CheckBox не рассматривается? Или, может, обойтись вообще без бесконечного цикла (пользоваться таймером, например). -------------------- Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения! |
Гость |
Сообщение
#4
|
Гость |
я пишу прогу, где шар отбивается от стенок, по нажатию кнопки мне надо, чтобы прога завершилась
|
Гость |
Сообщение
#5
|
Гость |
т.е. закончился цикл движения шара
|
volvo |
Сообщение
#6
|
Гость |
Ну, а что насчет ответа на вопрос:
Цитата где этот цикл, к чему он привязан? Понимаешь, пока неизвестно, как организован цикл, возможно, его ВООБЩЕ нельзя остановить. Возможно, придется кое-что добавлять... А гадание на кофейной гуще - это не сюда... |
Гость |
Сообщение
#7
|
Гость |
цикл возникает при двойном щелчке по форме
Код constructor bol.createe(sx,sy:integer;box:tPaintBox); begin currX:=sX; currY:=sY; destX:=sX; destY:=sY; deltaX:=0; deltaY:=0; shar(box,sx,sy); end; procedure bol.shar(box:tPaintBox;sdx,sdy:integer); var key, x,y:integer; begin Box.Canvas.Pen.Width:=3; Box.Canvas.Pen.Color:=clred; Box.canvas.ellipse(currX-25,currY-25,currX+25,currY+25); Box.canvas.font.name:='Arial'; Box.canvas.font.style:=[fsBold,fsItalic]; Box.canvas.font.size:=50 div 5; x:=sdx -25+(50 - Box.canvas.textwidth('sony'))div 2; y:=sdy -25+(50 - Box.canvas.textheight('sony'))div 2; Box.canvas.textout(x,y,'sony'); Box.Canvas.Pen.Color:=clBtnFace; end; procedure bol.del(box:tPaintBox); begin Box.Canvas.Pen.Width:=3; Box.Canvas.Pen.Color:=clBtnFace; Box.canvas.ellipse(currX-25,currY-25,currX+25,currY+25); end; procedure bol.run0(box:tPaintBox); begin while (curry-25)<>0 do begin time; del(box); currx:=currx+1; curry:=curry-1; shar(box,currx,curry); end; run1(box); end; procedure bol.time; var t:integer; begin t:=5000000; while t<>0 do t:=t-1; end; procedure bol.run1(box:tPaintBox); begin while ((currx+25)<609) and ((curry+25)<609) and ((currx-25)>0) do begin time; del(box); currx:=currx+1; curry:=curry+1; shar(box,currx,curry); end; if (currx+25)>608 then run2(box); if (curry+25)>608 then run3(box); if (currx-25)<1 then run4(box); end; procedure bol.run2(box:tPaintBox); begin while ((curry-25)>0) and ((curry+25)<609) and ((currx-25)>0) do begin time; del(box); currx:=currx-1; curry:=curry+1; shar(box,currx,curry); end; if (curry-25)<1 then run1(box); if (curry+25)>608 then run3(box); if (currx-25)<1 then run4(box); end; procedure bol.run3(box:tPaintBox); begin while ((curry-25)>0) and ((currx+25)<609) and ((currx-25)>0) do begin time; del(box); currx:=currx-1; curry:=curry-1; shar(box,currx,curry); end; if (curry-25)<1 then run1(box); if (currx+25)>608 then run2(box); if (currx-25)<1 then run4(box); end; procedure bol.run4(box:tPaintBox); begin while ((curry-25)>0) and ((currx+25)>0) and ((curry+25)>0) do begin time; del(box); currx:=currx+1; curry:=curry-1; shar(box,currx,curry); end; if (curry-25)<1 then run1(box); if (currx+25)>608 then run2(box); if (curry+25)>608 then run3(box); end; |
volvo |
Сообщение
#8
|
Гость |
Ух ты
Да у тебя не цикл, а рекурсия... Отсюда так просто не выйдешь.... |
Текстовая версия | 24.04.2024 3:45 |