если счетчик cnt больше или равен 15
ИЛИ
dwWaitSuccess == FALSE
ИЛИ
bConnected == TRUE
ИЛИ
theApp.IsStarted == FALSE
то завершить цикл, верно? вопрос простой в принципе но мне почему то кажется что это условие не срабатывает и приходится вставлять в начало цикла дополнительные условия типа этого:
Здравствуйте, black_c0de, Вы писали:
_>то завершить цикл, верно? вопрос простой в принципе но мне почему то кажется что это условие не срабатывает и приходится вставлять в начало цикла дополнительные условия типа этого:
_>
_>if( bConnected || cnt > 15)
_> break;
_>
Потому что во время проверки условия в while cnt равно 15,
а в теле while уже 16. Используй ++cnt вместо cnt++.
_>такое условие будет означать что:
_>если счетчик cnt больше или равен 15 _>ИЛИ _>dwWaitSuccess == FALSE _>ИЛИ _>bConnected == TRUE
bConnected == FALSE а не TRUE
_>ИЛИ _>theApp.IsStarted == FALSE
_>то завершить цикл, верно? вопрос простой в принципе но мне почему то кажется что это условие не срабатывает и приходится вставлять в начало цикла дополнительные условия типа этого:
_>
_>if( bConnected || cnt > 15)
_> break;
_>
_>сразу же еще вопрос:
_>как будет вести себя цикл:
_>while(cnt++ < 15 && !dwWaitSuccess && !bConnected && theApp.IsStarted() ) _>{ _>}
_>такое условие будет означать что:
_>если счетчик cnt больше или равен 15 _>ИЛИ _>dwWaitSuccess == FALSE _>ИЛИ _>bConnected == TRUE _>ИЛИ _>theApp.IsStarted == FALSE
_>то завершить цикл, верно? вопрос простой в принципе но мне почему то кажется что это условие не срабатывает и приходится вставлять в начало цикла дополнительные условия типа этого:
_>
_>if( bConnected || cnt > 15)
_> break;
_>
_>сразу же еще вопрос:
_>как будет вести себя цикл:
_>while(cnt++ < 15 && !dwWaitSuccess && !bConnected && theApp.IsStarted() ) _>{ _>}
_>ну напутался 8((
Да, у меня тож постоянно та же картина — ошибки в сложных условиях.
Первый вариант цикла будет работать, если хотя бы одно условие дает в результате true. Причем, условие вычисляется слева направо до первой истины. Лично я не стал бы в условии ставить cnt++ — от греха подальше.
Второй цикл будет работать, если ВСЕ условия будут истина, причем вычисляется до первого false.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!