
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
05.03.2007, 14:56
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
IsNull(kod_cexa) выдаёт ИСТИНА Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 15:29
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
А как он должен себя вести при операторе "или" ? вот если стоит оператор "и", тогда при не выполнении первого условия, он во второе и не заглядывает. Код: plaintext 1. 2. 3. 4. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 15:55
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
Дело не в or или and, а в том, что при kod_cex = Null эта строка выдаст ошибку. Таки да, все функции должны быть посчитаны перед тем, как их значения могут быть обработаны If. If получает результат логической операции IsNull(kod_cexa) Or Val(kod_cex) = 0 и прозводит выполнение той или иной части кода, он ничего не высчитывает и не обязан знать, что за параметры передаются в какие функции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 15:58
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
vkodorвот если стоит оператор "и", тогда при не выполнении первого условия, он во второе и не заглядывает. Только не в VB. В if всегда вычисляются все выражения. За счет этого возможны разного рода ошибки. Например: Код: plaintext Из этого же свойства рождается метод оптимизации. Выражение Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 15:59
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
Был не прав насчет ошибки, в условии две разные переменные kod_cex и kod_cex a (или это очепятка?), но прав по поводу If. vkodor тогда при не выполнении первого условия, он во второе и не заглядывает. Заглядывает, заглядывает... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 16:03
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 16:53
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
Antonariy FAndrew согласен заглядывает... по мне лучше объявить переменную и не делать лишних проверок Код: plaintext 1. 2. 3. 4. видимо поэтому я не встречался с таким ... А вообще забавно возьму на заметку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
05.03.2007, 21:02
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
И это не все ! Еще есть оператор IIF Оператор IIF вычислит ОБА возвращаемых значения: Вот это вызовет ошибку "Deivision by zero" Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 16:35
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
klen_ Код: plaintext Лучше так: Код: plaintext 1. 2. В VBA функция Nz есть. В VB6 ее нет, но можно сделать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2007, 20:19
|
|||
|---|---|---|---|
Зачем Basic выполняет вторую часть оператора OR если первая уже ИСТИНА? |
|||
|
#18+
Лучше использовать функции типа Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&tablet=1&tid=2164381]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
406ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 716ms |

| 0 / 0 |
