|
|
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
собственно сабж. microsoft не может переварить это складывание. если заключить их в переменные то может. какие будут соображения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 09:10:12 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Дадахансобственно сабж. microsoft не может переварить это складывание. если заключить их в переменные то может. какие будут соображения? Может расскадите что это такое? Что это значит? Для общего развития, а там глядишь и соображения появятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 09:53:46 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Deggasad Дадахансобственно сабж. microsoft не может переварить это складывание. если заключить их в переменные то может. какие будут соображения? Может расскадите что это такое? Что это значит? Для общего развития, а там глядишь и соображения появятся. excel->ALT F11->New module->New sub->msgbox(20000+20000)=error. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:00:04 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:12:31 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Толком не разобрался, но методом подбора так работает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:13:29 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Deggasad Код: plaintext 1. 2. и чего париться то? см.первый пост. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:13:55 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
А так? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:16:35 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
или даже так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:18:57 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Или так Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:23:24 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Вообщем как угодно лиш бы он понял что по крайней мере одна из переменных Long ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:24:52 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Дадахансобственно сабж. microsoft не может переварить это складывание. если заключить их в переменные то может. какие будут соображения?читать документацию. Компилятор помещает численные литералы в области памяти, и типизирует их константами, подходящие по размеру, тип результата подбирает под "максимальный" тип аргументов. Вообще, проблемы нет ни скакой стороны: поведение компилятора ожидаемо, а использовать в коде "магические числа" не рекомендуется. Deggasad правильно решение написал: Deggasad Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:28:26 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
DeggasadВообщем как угодно лиш бы он понял что по крайней мере одна из переменных Long хм... к сожалению я не искал методы обхода данной ошибки, а лишь хотел поделиться ею с народом и услышать его мнение, почему так происходит. думаю, что это лажа мелкософта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:28:44 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
vbapro Дадахансобственно сабж. microsoft не может переварить это складывание. если заключить их в переменные то может. какие будут соображения?читать документацию. Компилятор помещает численные литералы в области памяти, и типизирует их константами, подходящие по размеру, тип результата подбирает под "максимальный" тип аргументов. Вообще, проблемы нет ни скакой стороны: поведение компилятора ожидаемо, а использовать в коде "магические числа" не рекомендуется. Deggasad правильно решение написал: Deggasad Код: plaintext 1. 2. да, к счастью проблем с этим не возникало. редко приходилось использовать выражение без переменных, а то и никогда. а если считать что 20000+40000 работает, а 20000+20000 не работает, то это не совсем правильно и не повод лезть в документацию и искать там причину лажи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:33:58 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Дадахан DeggasadВообщем как угодно лиш бы он понял что по крайней мере одна из переменных Long хм... к сожалению я не искал методы обхода данной ошибки, а лишь хотел поделиться ею с народом и услышать его мнение, почему так происходит. думаю, что это лажа мелкософта. Было же объяснение - от vbapro : VBA подбирает тип константы сам. для 20000 Integer более чем достаточно! Он и присваивает Integer , если никак не намекнуть. Хотя если честно думал, что по умолчанию всегда Variant , может это для переменной а не для констант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:34:24 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Deggasad Variant , может это для переменной а не для констант?это если объявляешь переменную без типа или вообще не объявляешь; правильно рассуждаешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:38:07 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
На самом деле трудно представить себе ситуацию когда может потребоваться просто сложить 2 числа. Легче ведь наисать 40000! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 10:39:22 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
Deggasad на самом деле могут быть приключения такого типа: Код: plaintext 1. 2. 3. 4. В этом случае положение может исправить использование type-declaration character, в данном случае – ампесанда: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 12:13:07 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
lena_#### Deggasad на самом деле могут быть приключения такого типа: Код: plaintext 1. 2. 3. 4. Эт понятно! Можно пару вопросов: 1) Зачем вообще использовать Integer, а не Long, есть ли какие-то причины? 2) lena_####В этом случае положение может исправить использование type-declaration character, в данном случае – ампесанда: Код: plaintext Что это такое? То есть как работает я понял! Просто что такое type-declaration character и ампесанда ? И если это в ту же тему где можно почитать или что означают различные символы которые время от времени я встречаю в топиках, такие как % или &, обычно они присутствуют в названиях переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:10:11 |
|
||
|
20000+20000=overflow %)
|
|||
|---|---|---|---|
|
#18+
type-declaration character A character appended to a variable name indicating the variable's data type(символ, добавленный к имени переменной, указывающий ее тип) для типа Long – это ампесанд (&) для типа Integer – это знак процента (%) для типа String – это знак доллара ($) Например Код: plaintext 1. Код: plaintext 1. Что касается целесообразности использования типа Long а не Integer можно наверно много говорить, приводя различные доводы в пользу Long . Но некоторые функции VB (например, FreeFile Function) возвращают Integer , а также некоторые функции WinAPI хотят получить ссылку на переменную типа Integer . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2007, 13:50:42 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=34475032&tid=2183100]: |
0ms |
get settings: |
5ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
5ms |
get forum data: |
1ms |
get page messages: |
30ms |
get tp. blocked users: |
1ms |
| others: | 198ms |
| total: | 304ms |

| 0 / 0 |
