Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

проблемы с IF [D7, WinXP]


Страницы:   1 2

Dush ©   (2007-04-14 11:08:00) 

Доброго времени суток!
возникла проблема: в условии
if (data1=data2) and (Time1<=Time2) then DoIt;
если верно первое условие то второе не проверяется. Как от этого избавится?
Я знаю что можно сделать так:
if (data1=data2) then
  if (Time1<=Time2) then DoIt;

а по другому?


Johnmen   (2007-04-14 22:54:00) [21]

Да-да, я уже запутался, где чьи посты...:) Пойду спать...


homm   (2007-04-14 22:31:00) [22]

> [12] Johnmen ©   (14.04.07 21:34)

Так, не спорь, [4] было написано автору вопроса, дабы указать на его ошибку, то что ты посто ранее сам на нее указал не удаляет ошибку из поста автора.


Anatoly Podgoretsky   (2007-04-14 22:31:00) [23]

Это ты говоришь и я тут с тобой солидарен, но автор говорит, что
Если первое выражение A истинно, то НЕвычисляем B.


Johnmen   (2007-04-14 21:34:00) [24]


> Anatoly Podgoretsky ©   (14.04.07 19:26) [11]
> > Johnmen  (14.04.2007 19:15:10)  [10]Я что то не знаю такого,
>  если первое выражение истинно, то для AND не надо вычислять
> второе.

Кто-то кого-то не понимает...
Я говорю о выражении A and B(как и указано в [0]).
Если первое выражение Aистинно, то вычисляем B.


Anatoly Podgoretsky   (2007-04-14 19:26:00) [25]

> Johnmen  (14.04.2007 19:15:10)  [10]

Я что то не знаю такого, если первое выражение истинно, то для AND не надо вычислять второе.


Johnmen   (2007-04-14 19:15:00) [26]


> Anatoly Podgoretsky ©   (14.04.07 13:18) [4]
> чего бы? Новое слово в программирование?

Старое слово. В вычислении булевских выражений.


{RASkov}   (2007-04-14 13:52:00) [27]

> для случая OR все наоборот.

ну да... чет я с ором ступил :)


homm   (2007-04-14 13:46:00) [28]

> но в любом случае

Не в любом. В случае если выставлены определенные опции (возможно даже по умолчанию) и это для случая AND для случая OR все наоборот.


{RASkov}   (2007-04-14 13:40:00) [29]

> [6] homm ©   (14.04.07 13:36)

Согласен... :) но в любом случае

> второе условие не проверяеться - если первое ложно

:)


homm   (2007-04-14 13:36:00) [30]

> второе условие может не проверяться если первое ложно

Не ложное. а если результат первого условия делает бессмысленым проверку второго. Например если это AND то ясно что если первое условие ложн, то выражение ложно, вне зависимости от второго. Если OR и первое условие истоино, то выражение истино и дальнейшая проверка так-же не имеет смысла.


{RASkov}   (2007-04-14 13:26:00) [31]

При соотвествующих опциях компилятора, второе условие может не проверяться если первое ложно... что в данном случае - наоборот.


Anatoly Podgoretsky   (2007-04-14 13:18:00) [32]

> Dush  (14.04.2007 11:08:00)  [0]

> то второе не проверяется

С чего бы? Новое слово в программирование?


Johnmen   (2007-04-14 11:13:00) [33]


> сли верно первое условие то второе не проверяется.

...то второе проверяется.


Dush   (2007-04-14 11:13:00) [34]

спасибо


Johnmen   (2007-04-14 11:12:00) [35]

Выставить опцию компилятора {$B+}


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо