![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Continue, вложенный цикл.
Wood © (2006-11-14 06:08:00)Доброе утро!
Подскажите, плз, как продолжить вложенный цикл?
Такая конструкция у меня продолжила основной цикл:
While not <таблица>.Eof do
begin
If <условие> then Continue;
...
For i:=0 to Count do
begin
If <условие> then Continue; //выходит из цикла for и продолжает while
...
end;
<таблица>.Next
end;
возможно, я ошибаюсь, думая, что каждое Continue действительно для конкретного цикла...
Wood (2006-11-14 07:08:00) [1]тьфу, ну точно не доброе утро попалось :( Совсем не проснулся, MBo ©, прошу прощения за PS...
Wood (2006-11-14 07:00:00) [2]
> MBo © (14.11.06 06:43) [1]
благодарю! Буду искать ошибку в своем коде.
PS: напомните, плз, где я могу посмотреть такое же:
>Start Outer 0
>Outer 0 After Continue
>Outer 0 Inner 10
...
> MikePetrichenko © (14.11.06 06:48) [2]
...
> Continue + F1
это было первое, что я сделал, даже посмотрел вложенный в справку пример, где используется один цикл. Но, все равно, спасибо :)
MikePetrichenko (2006-11-14 06:49:00) [3]Сорри. Не Exit, а, конечно же, Break+F1.
Спать охота. Чем и займусь...
MikePetrichenko (2006-11-14 06:48:00) [4]
> If <условие> then Continue; //выходит из цикла for и продолжает
> while
А с чего бы оно выходитиз цикла?
Continue + F1
Exit + F1
И будет счастье
MBo (2006-11-14 06:43:00) [5]Все работает как положено:
procedure TForm14.Button1Click(Sender: TObject);
var
i, j: Integer;
begin
i := 0;
while i < 3 do begin
Memo1.Lines.Add(Format('Start Outer %d',[i]));
if i = 1 then begin
Inc(i);
Continue;
end;
Memo1.Lines.Add(Format('Outer %d After Continue',[i]));
for j := 10 to 12 do begin
if j = 11 then
Continue;
Memo1.Lines.Add(Format('Outer %d Inner %d',[i,j]));
end;
Memo1.Lines.Add(Format('Outer %d After Inner Cycle',[i]));
Inc(i);
end;
Start Outer 0
Outer 0 After Continue
Outer 0 Inner 10
Outer 0 Inner 12
Outer 0 After Inner Cycle
Start Outer 1
Start Outer 2
Outer 2 After Continue
Outer 2 Inner 10
Outer 2 Inner 12
Outer 2 After Inner Cycle