Форум: "Начинающим";
Текущий архив: 2011.04.03;
Скачать: [xml.tar.bz2];
ВнизИспользование процедуры Break Найти похожие ветки
← →
Anthony © (2011-01-06 02:50) [0]Подскажите пожалуйста, почему испольование Break внутри нескольких циклов:
for i := 0 to 100
for j := 0 to 100
for k := 0 to 100
Break;
- приводит к выпадению сразу из всех циклов, а не только из того цикла (в данном случае по k), в котором находится Break ?
Есть ли в Delphi какие-то опции компилятора, чтобы по Break прерывать только тот цикл, в котором вызвана эта процедура ?
← →
Германн © (2011-01-06 03:25) [1]
> чтобы по Break прерывать только тот цикл, в котором вызвана
> эта процедура
Так оно и есть и всегда было. Ищи ошибку в программе.
← →
KilkennyCat © (2011-01-06 09:56) [2]continue или goto
← →
KilkennyCat © (2011-01-06 09:57) [3]
> опции компилятора
новый стиль программирования - переключений опций компилятора....
← →
Юрий Зотов © (2011-01-06 10:06) [4]> Anthony © (06.01.11 02:50)
Из справки:
You can use the standard Break and Continue procedures to control the flow of a repeat, while, or for statement. Break terminates the statement in which it occurs, while Continue begins executing the next iteration of the sequence.
В реальности так оно и есть, так что действительно ищите ошибку в программе.
← →
Anatoly Podgoretsky © (2011-01-06 12:17) [5]> Германн (06.01.2011 03:25:01) [1]
Ошибка только в мозгах, первые два цикла так быстро выполняются, что
кажется, что кажется.
← →
Anthony © (2011-01-06 16:36) [6]Да, извиняюсь, что-то видно я напутал в коде, не могу повторить это "недоразумение", которое каким-то образом ранее получил в своей программе, всё оказывается работает, как надо...
Но хорошо, что спросил, потому что до задания этого вопроса на форум - в голове осталась неверная информация, что Break прерывает сразу все циклы.
Благодарю всех, кто откликнулся помочь!..
← →
Ega23 © (2011-01-06 17:20) [7]Все циклы прерывает Exit или Goto :)
← →
Halt (2011-01-06 23:16) [8]Все циклы прерываю я.
← →
Rouse_ © (2011-01-07 10:07) [9]
> Ega23 © (06.01.11 17:20) [7]
>
> Все циклы прерывает Exit или Goto :)Очень удачны бывают переходы в тело цикла DO, особенно из других модулей. Хотя трансляторы, как правило, это запрещают, их легко обвести вокруг пальца, пользуясь переменными типа метки. Передача управления в вызываемую процедуру в обход заголовка принесет Вам долгие часы счастливых раздумий над кодом завершения ОС5.
← →
jack128_ (2011-01-07 15:11) [10]
> Очень удачны бывают переходы в тело цикла DO, особенно из
> других модулей. Хотя трансляторы, как правило, это запрещают,
> их легко обвести вокруг пальца, пользуясь переменными типа
> метки. Передача управления в вызываемую процедуру в обход
> заголовка принесет Вам долгие часы счастливых раздумий над
> кодом завершения ОС5.
Пару лет эта цитата висит у нас в свн. Наконец она пригодилась!!! Ура!
← →
oxffff © (2011-01-07 16:06) [11]
> Anthony © (06.01.11 02:50)
> Подскажите пожалуйста, почему испольование Break внутри
> нескольких циклов
Очень удобно для выхода из нескольских циклов использовать отдельную вложенную процедуру(в которую вынесены циклы) с использованием exit в ней.
← →
RWolf © (2011-01-07 16:07) [12]хм, мне такое накодить даже в голову не приходило.
goto в процедуру, надо же.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2011.04.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.003 c