у меня сейчас бесконечный цикл, я хочу сделать выход из этого цикла по нажатию кнопки, как это сделать?
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.
| iriska_2 |
Сообщение
#1
|
|
Гость |
подскажите пожалуйста
у меня сейчас бесконечный цикл, я хочу сделать выход из этого цикла по нажатию кнопки, как это сделать? |
![]() ![]() |
| Гость |
Сообщение
#2
|
|
Гость |
цикл возникает при двойном щелчке по форме
Код 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; |
iriska_2 цикл 29.05.2007 3:36
Гость может я некорректно задала вопрос
как проверить на… 29.05.2007 4:20
мисс_граффити можно чуть подробнее?
где этот цикл, к чему он при… 29.05.2007 4:30
Гость я пишу прогу, где шар отбивается от стенок, по наж… 29.05.2007 4:46
Гость т.е. закончился цикл движения шара 29.05.2007 4:47
volvo Ну, а что насчет ответа на вопрос:
Понимаешь, по… 29.05.2007 4:52
volvo Ух ты :blink:
Да у тебя не цикл, а рекурсия... … 29.05.2007 5:18![]() ![]() |
|
Текстовая версия | 8.11.2025 3:21 |