Проверка условия «не равно»

Если вы хотите убедиться в том, что одно значение отлично от другого, следует воспользоваться оператором <>:

 

if x <> 3 Then

MsgBox "x не равно 3"

End If

 

Этот оператор бывает особенно полезным в ситуациях, когда требуется проверить, что пользователь ввел значение. Чтобы понять, почему это так, запустите программу из предыдущего примера:

1. Нажмите кнопку Загадать число, чтобы сгенерировать случайное число от 1 до 10.

2. Нажмите кнопку Угадать.

3. В открывшемся окне ввода нажмите кнопку OK или Cancel

Появляется сообщение об ошибке — несовпадение типов. Нажмите кнопку End, чтобы завершить работу программы. Не вдаваясь в подробности процесса отладки, скажу, что ошибка возникла в следующей строке:

 

guess = CInt(InputBox(msg))

 

Дело в том, что функция CInt() должна получать данные, преобразуемые в целое число. Если функция вызывается для пустой строки, выдается сообщение об ошибке.

Чтобы предотвратить ошибку, перед проверкой следует убедиться в том, что пользователь ввел некоторое значение. Оператор <> идеально подходит для этой цели! Проверку можно выполнить следующей командой:

 

If rс <> "" Then

 

В переводе на человеческий язык это означает: «Если значение guess не равно пустой строке, то сделать что-то».

4. Отредактируйте процедуру события Click кнопки cmdGuess и приведите ее к следующему виду:

 

Private Sub cmdGuess__Click()

Dim guess As Integer

Dim msg As String

Dim cap As String

Dim rc As String

 

‘Создать сообщение

msg = "Введите число от 1 до 10"

 

‘Получить число от пользователя

rс = InputBox(msg)

 

‘Убедиться в том, что пользователь ввел значение...

If rс <> "" Then

‘Преобразовать строку в целое число

guess = CInt(rc)

' Число угадано верно?

Select Case guess

Case Is = SecretNumber

' Да! Пользователь угадал!

msg = "Вы угадали!"

cap = "Верно!"

' Вывести сообщение

MsgBox msg, vbExclamation, cap

‘Закончить игру

End

Case Is > SecretNumber

' Нет. Следующая попытка...

msg = "Неверно. Загаданное число меньше".

cap = "Попробуйте снова!"

MsgBox msg, vbInformation, cap

Case Is < SecretNumber

' Нет. Следующая попытка...

msg = "Неверно. Загаданное число больше".

cap = "Попробуйте снова!"

MsgBox msg, vbInformatidn, cap

End Select

Else

msg = "Вы должны ввести число!"

cap = "Введите число!"

MsgBox msg, vbInformation, cap

End If

 

End Sub

 

5. Сохраните и запустите проект

 

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: