
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
11.05.2007, 09:39
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
загадка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 10:20
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 10:20
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Andrey Sk, надо так: val(mid("01",2,1))>11=False а val(mid("01",2,1))>day(date())=True. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 10:24
|
|||
|---|---|---|---|
|
|||
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
А если явно преобразовать в число тогда все отлично Val(mid("01",2,1)>Val(day(date())) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 10:26
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 10:32
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Да, я тоже так думаю, т.к. Mid возвращает Variant (String), а Day возвращает Variant(Integer), - несоответствие возвращаемых типов данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 11:17
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Как правильно делать я и сам знаю... Если причина в несоответствии типов данных, тогда почему "1">11=False. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 12:35
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Посмотри в Debug, что возвращает функция Day() ? Увидишь сначала пробел потом число. А теперь выполни сравнение числа с "пробел число" можешь делать так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
11.05.2007, 12:42
|
|||
|---|---|---|---|
почему сегодня mid("01",2,1)>11=False а mid("01",2,1)>day(date())=True? ;-))) |
|||
|
#18+
Andrey SkКак правильно делать я и сам знаю... Если причина в несоответствии типов данных, тогда почему "1">11=False. Тут единичка преобразуется в число и сравнивается. А в случае Mid("01", 2, 1) > Day(Date), так как оба значения Variant-ы и в какой тип данных приводить для сравнения непонятно, то компилятор правую часть выражения начинает приводить к левой равноценно - т.е преобразует в строку с лидирующим пробелом, т.е получается "1" > " 11" - в итоге имеем True. В общем, правильно в данном случае будет: CInt(Mid("01", 2, 1)) > Day(Date) или Mid("01", 2, 1) > CInt(Day(Date)) То есть нужно чтобы тип левой или правой части выражения был задан явно. Тогда компилятор поймет к какому типу приводить другую половину. Val же применять нехорошо, ибо он также возвращает Variant/Double. P.S Не слишком запутанно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=60&tablet=1&tid=2164060]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 317ms |

| 0 / 0 |
