Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.10.22;
Скачать: CL | DM;

Вниз

Как прервать цикл for   Найти похожие ветки 

 
EkZot   (2006-09-28 23:02) [0]

сабж


 
antonn ©   (2006-09-28 23:03) [1]

halt


 
Ketmar ©   (2006-09-28 23:04) [2]

break


 
cyborg ©   (2006-09-28 23:05) [3]

break


> [1] antonn ©   (28.09.06 23:03)

Бгы :)


 
Marser ©   (2006-09-28 23:05) [4]

Break


> [1] antonn ©   (28.09.06 23:03)
> halt

?


 
antonn ©   (2006-09-28 23:07) [5]

Marser ©   (28.09.06 23:05) [4]
> [1] antonn ©   (28.09.06 23:03)
> halt

?

кто скажет, что цикл не прервется, пусть первым кинет в меня камень:)


 
TUser ©   (2006-09-28 23:09) [6]

Кстати, булыжником можно запутьнуть в компутер.


 
grisme ©   (2006-09-28 23:16) [7]

TUser ©   (28.09.06 23:09) [6]
+1
можно уронить строительный кран для надежности :) водородную бомбу, на крайний случай, бросить :))


 
EkZot   (2006-09-28 23:18) [8]

так останавливается ыся программа, а мне только цикл надо осчтановить. break не работает.


 
cyborg ©   (2006-09-28 23:20) [9]

> [8] EkZot   (28.09.06 23:18)

Куку!

В смысле как не работает?


 
antonn ©   (2006-09-28 23:20) [10]

exit


 
grisme ©   (2006-09-28 23:21) [11]

antonn ©   (28.09.06 23:20) [10]
exitprocess(0);
:)


 
default ©   (2006-09-28 23:24) [12]

опять пазитроныч или ему подобный


 
Ketmar ©   (2006-09-28 23:25) [13]

>[5] antonn(c) 28-Sep-2006, 23:07
>кто скажет, что цикл не прервется, пусть первым
>кинет в меня камень:)
EnableDebugPrivilege()/ExitWindowsEx().


 
TUser ©   (2006-09-28 23:44) [14]

>  break не работает.

А ты на Delphi сидишь?


 
ArtemESC ©   (2006-09-28 23:48) [15]

Так компилю будет легче:

for ...
begin
....
 asm
  jmp @@L
 end;

end;
:L


 
Gero ©   (2006-09-28 23:54) [16]

Найми программиста.


 
Anatoly Podgoretsky ©   (2006-09-29 00:07) [17]

Он в это не верит и обижается когда ему говорят.


 
RASkov   (2006-09-29 00:18) [18]

А можно и так :)
procedure TForm1.Button1Click(Sender: TObject);
var N: Integer; label A, B;
begin
 for N:=0 to 10 do
  if Random(20)<>5 then
    ListBox1.Items.Add(IntToStr(N)) else goto A;
 goto B;
A: ListBox1.Items.Add("Прервали");
B: ListBox1.Items.Add("Конец");
end;


 
vidiv ©   (2006-09-29 00:38) [19]


> default ©   (28.09.06 23:24) [12]
> опять пазитроныч или ему подобный

а в чем прикол?


 
_Ламер_   (2006-09-29 02:32) [20]

Как это break не работает? Это из какого анекдота?


 
SergP ©   (2006-09-29 02:37) [21]

> [8] EkZot   (28.09.06 23:18)
> так останавливается ыся программа, а мне только цикл надо
> осчтановить. break не работает.


Видимо проблема в периферии...


 
Asteroid ©   (2006-09-29 03:30) [22]

> RASkov   (29.09.06 00:18) [18]
"Прервали конец"...К чему бы это? :)

А чтобы компилятору было совсем легко...
asm
 xor eax, eax
 mov [eax], eax
end

"кто скажет, что цикл не прервется, пусть первым кинет в меня камень:)" (с) [5]


 
vidiv ©   (2006-09-29 08:20) [23]

Если попытаться убить smss.exe, то прервуться все циклы в системе =)


 
начинающий ©   (2006-09-29 08:58) [24]


> Как прервать цикл for

Ctrl+Alt+Del, Снять задачу.


 
kaif ©   (2006-09-29 10:33) [25]

Как телепат предлагаю прервать цикл так:

var
 StopFlag: boolean = False;

procedure TForm1.Button1Click(Sender: TObject);
begin

 StopFlag := False;

 for i := 1 to 100000 do
 begin
   //здесь то долгое, что заставляет задавать этот вопрос на форуме
   if i mod 100 then
   begin
     Application.ProcessMessages;    
      if StopFlag then
        break;
   end;
 end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 StopFlag := True;
end;


 
kaif ©   (2006-09-29 10:34) [26]

описался:

if (i mod 100) = 0 then


 
kaif ©   (2006-09-29 10:37) [27]

Дело в том, что цикл for в Windows-е не телепат и не догадывается, что пользователь нажал кнопку Button2.
:)
Пока мы принудительно не протолкнем на обслуживание всю очередь сообщений при помощи

Application.ProcessMessages


 
Alx2 ©   (2006-09-29 10:50) [28]

>kaif ©   (29.09.06 10:34)

>if (i mod 100) = 0 then

if (i mod 128) = 0 then

:)


 
Ketmar ©   (2006-09-29 12:00) [29]

>[27] kaif(c) 29-Sep-2006, 10:37
>Application.ProcessMessages
что чревато нехорошими последствиями в виде повторных вызовов процедур и прочего. рядом с этим советом стоим упоминать о том, что надо бы блокировать ненужные контролы. %-)


 
RASkov   (2006-09-29 22:27) [30]

Удалено модератором


 
VirEx ©   (2006-09-29 23:35) [31]


> Как прервать цикл for
> EkZot   (28.09.06 23:02)
> сабж

молиться сын, молиться батюшке нашему


 
Германн ©   (2006-09-30 02:10) [32]

Имхо.
Если видишь ветку созданную EkZot, значит это ветка для флуда.
Поскольку автор в обсуждении почти всегда отсутствует. И информация от него близка к нулю.
:-)
Логично было бы мне тут дать призыв, типа "Даёшь ф..." в этой ветке, но из уважения к модераторам, а также из-за природной сдержанности не дам! :-)


 
Pazitron_Brain ©   (2006-09-30 09:18) [33]

Он на end прервется.


 
Pazitron_Brain ©   (2006-09-30 09:20) [34]

> [12] default ©   (28.09.06 23:24)

У меня для этого свой ник есть.


 
DiamondShark ©   (2006-09-30 09:35) [35]


> У меня для этого свой ник есть.

Его именем прерывали циклы...


 
Пользователь   (2006-09-30 09:36) [36]

Pazitron_Brain ©   (30.09.06 09:18) [33]
Он на end прервется


"Ты эту траву больше не кури, сынок" (С) Мама


 
Пользователь   (2006-09-30 09:40) [37]

Удалено модератором


 
Gydvin ©   (2006-09-30 11:32) [38]

Удалено модератором



Страницы: 1 вся ветка

Текущий архив: 2006.10.22;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.029 c
9-1137709668
LORD LEO
2006-01-20 01:27
2006.10.22
Техника программирования


15-1159715254
Petr V. Abramov
2006-10-01 19:07
2006.10.22
А почему трансформатор гудит?


2-1160388362
SamProf
2006-10-09 14:06
2006.10.22
Как сделать запрос IdHTTP.Get(<url>) методом POST в 10 Indy?


2-1160115430
Priest
2006-10-06 10:17
2006.10.22
Как найти ошибку если есть только адрес


2-1159770747
mfender
2006-10-02 10:32
2006.10.22
IHTMLDOMNode. nodeType?