Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Ошибка Добавлено: 23.12.09 15:54  

Автор вопроса:  ηikolaŠ~rus | ICQ: 604058327 
здрасте!
Private Sub Command1_Click()
Label1.Caption = Label1.Caption + Val(1)
End Sub
почему выскакивает ошибка и как её исправить(мне надо чтоб при каждом нажитии на кнопку к лабелю прибовлялось число 1 ) если заменить + на & то он 1 прибавляет как строку

Ответить

  Ответы Всего ответов: 54  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 23.12.09 16:49
  1. Label1.Caption = CStr(CInt(Label1.Caption) + 1)

Ответить

Номер ответа: 2
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #2 Добавлено: 23.12.09 17:05
не идет

Ответить

Номер ответа: 3
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #3
Добавлено: 23.12.09 17:06
  1. Label1.Caption = Label1.Caption + Val(1)

Ты хочешь увеличивать число, которое хранится в виде текста, на единицу. Вместо того, чтобы конвертировать текст в число, а затем прибавлять, ты конвертируешь 1, которая является числом, в число, а затем прибавляешь к тексту. Смекаешь?

Ответить

Номер ответа: 4
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #4 Добавлено: 23.12.09 17:06
а зачем сначала преоброзовывать в строку а потом в интегер??

Ответить

Номер ответа: 5
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #5
Добавлено: 23.12.09 17:06
  1. Label1.Caption = IIf(IsNumeric(Label1.Caption), CStr(CInt(Label1.Caption)+1), "1")

Ответить

Номер ответа: 6
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #6 Добавлено: 23.12.09 17:07
 VВDUnit
а можно както попроще ето объяснять

Ответить

Номер ответа: 7
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #7 Добавлено: 23.12.09 17:10
блиин тоже не идетт

Ответить

Номер ответа: 8
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #8
Добавлено: 23.12.09 17:16
IIf - это функция. Принимает три аргумента. Первый - какое либо условие, в нашем случае "IsNumeric(Label1.Caption)" означает "является ли Label1.Caption числом?". Второй - это то, что возвратит функция, если условие ИСТИНА. Третий - то, что она возвратит, если условие ЛОЖЬ.

  1. Label1.Caption

К строке мы не можем прибавить единицу, ибо это херь. Значит, сначала строку преобразовываем в число
  1. CInt(Label1.Caption)

Далее к числу прибавляем единицу
  1. CInt(Label1.Caption)+1

И результат обратно преобразуем в строку.
  1. CStr(CInt(Label1.Caption)+1)

Которую присваиваем Label1.Cpation
  1. Label1.Caption = CStr(CInt(Label1.Caption)+1)

Ответить

Номер ответа: 9
Автор ответа:
 ηikolaŠ~rus



ICQ: 604058327 

Вопросов: 50
Ответов: 287
 Профиль | | #9 Добавлено: 23.12.09 17:23
спасибо за объяснеения
но почему я МЕНЯ ЕТОТ КОД НЕ ПАШЕТ ???????

Ответить

Номер ответа: 10
Автор ответа:
 LamerOnLine



ICQ: 334781088 

Вопросов: 108
Ответов: 2822
 Профиль | | #10 Добавлено: 23.12.09 17:40
Ну кто хранит значение переменных в лейблах? Издеваемся?
Заведи переменную типа Long, её инкрементируй и отображай.

Ответить

Номер ответа: 11
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #11 Добавлено: 23.12.09 18:03
Попробуйте вместо Val использовать CLng и им подобные...

Но тока правила хорошего тона требуют, чтобы проверялось на IsNumeric значение в лейбле...

Ответить

Номер ответа: 12
Автор ответа:
 VerhoLom



Вопросов: 20
Ответов: 285
 Профиль | | #12 Добавлено: 23.12.09 18:07
Private Sub Command1_Click()
Label1.Caption = CStr(Iif(IsNumeric(Label1.Caption),0,CLng(Label1.Caption)) + 1)
End Sub

Ответить

Номер ответа: 13
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #13 Добавлено: 23.12.09 19:27
LOL +1

Ответить

Номер ответа: 14
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #14 Добавлено: 23.12.09 23:01
БЛИН!!!! Вы чё творите???
  1. Label1.text = Val(label1.text) + 1

ВСЁ!!!
А он вместо того чтобы значение лэйбла в числовое переводить , еденицу(итак уже число!) переводит в число.

Ответить

Номер ответа: 15
Автор ответа:
 Саня



ICQ: 553816426 

Вопросов: 10
Ответов: 99
 Профиль | | #15 Добавлено: 23.12.09 23:24
 UnDeAdZak, нервные клетки не воснанавливаются :-)))

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам