Форум: "Прочее";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];
ВнизКак прервать цикл 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;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.036 c