Страница: 1 |
Страница: 1 |
Вопрос: VB не выполняет математические действия,
Добавлено: 05.02.08 14:41
Автор вопроса: Павел
Помогите разобраться:
Dim b, c As Long
b = Label1.Caption' 5
c = Label2.Caption' 2
Label3.Caption = b + c ' 52
Непонятно почему переменные a, b склеиваются, а не складываются. Может кто нибудь знает в чем дело?
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 05.02.08 15:08
Наверно, в том, что для того, чтобы VB считал b и c числами, а не строками, их надо сначала сконвертировать. CLng, Val и т.п.
Номер ответа: 2
Автор ответа:
Diman
ICQ: -
Вопросов: 1
Ответов: 7
Web-сайт:
Профиль | | #2
Добавлено: 05.02.08 16:41
Пиши
Label3.Caption=val(b)+val(c)
Номер ответа: 3
Автор ответа:
Боцман
ICQ: 295725312
Вопросов: 53
Ответов: 830
Web-сайт:
Профиль | | #3
Добавлено: 05.02.08 17:53
Dim b, c As Long
b у тебя вариант, попробуй так
Dim b As Long , c As Long
Номер ответа: 4
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #4
Добавлено: 05.02.08 19:43
да, и еще вот так попробуй
b = Val(Label1.Caption)' 5
c = Val(Label2.Caption)' 2
Номер ответа: 5
Автор ответа:
Павел
Вопросов: 1
Ответов: 1
Профиль | | #5
Добавлено: 05.02.08 19:56
Спасибо, работает.
b = Clng(Label1.Caption)' 5
c = Clng(Label2.Caption)' 2
Номер ответа: 6
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #6
Добавлено: 05.02.08 20:54
если скажем Label1.Caption = "брбрбрбрб", то CLng выдаст ошибку
Номер ответа: 7
Автор ответа:
Sur
ICQ: 1249088
Вопросов: 10
Ответов: 304
Web-сайт:
Профиль | | #7
Добавлено: 11.02.08 14:49
А почему у меня vb6 пример автора выдает 7?
И разве при присвоении лонгу текста не произойдет преобразование автоматом?
Номер ответа: 8
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #8
Добавлено: 11.02.08 20:21
и правда) работает. выдает 7.
Но всё равно на всякий случай val юзать имхо