Почти в каждом приложении требуется сравнить два выражения и узнать, совпадают ли их значения. В Visual Basic эта задача решается оператором =. Он встречался во многих примерах, приведенных ранее. Проверка равенства выполняется так:
If x = 3 Then
MsgBox "Значение x равно 3"
End If
Оцените красоту Visual Basic — программа получается очень похожей на простой английский текст. Данный фрагмент можно было бы сформулировать словами:
Если значение x равно 3, то вывести диалоговое окно.
Как правило, программисту приходится решать противоположную задачу и превращать слова в текст программы. К счастью, программа приносит больше пользы, чем простой текст на листке бумаги!
Чтобы наглядно познакомиться с тем, как выполняется проверка даты, рассмотрим следующий пример. В нем мы проверяем дату и выводим соответствующее сообщение:
1. Создайте новый проект командой File > New Project.
2. В диалоговом окне New Project выберите значок Standard EXE. Нажмите кнопку ОК.
3. Задайте свойству Name формы Form1 значение frmMain, а свойству Caption — значение Выберите число.
|
|
4. Создайте на форме две кнопки.
5. Задайте свойству Name первой кнопки значение cmdGetSecretNumber, а свойству Caption — значение Загадать &число.
6. Задайте свойству Name второй кнопки значение cmdGuess, a свойству Caption — значение &Угадать.
7. Дважды щелкните на форме frmMain, чтобы открыть окно программы.
8. Вставьте следующий фрагмент в процедуру события Load формы frmMain:
Private Sub Form_Load()
Загадать число
SecretNumber = GetSecretNumber()
End Sub
9. Вставьте следующую строку в секцию (General)(Declarations) формы frmMain:
Option Explicit
Private SecretNumber As Integer
10. Перейдем к созданию функции GetSecretNumber(), которая является одним из важнейших компонентов приложения. Вставьте следующий фрагмент в секцию (General)(Declarations):
Private Function GetSecretNumber() As Integer
' Загадать число от 1 до 10
Randomize
GetSecretNumber = Int(Rnd(1) * 10) + 1
End Function
11. Вставьте следующий фрагмент в процедуру события Click кнопки cmdGetSecret Number:
Private Sub cmdGetSecretNumber_Click()
' Загадать число
SecretNumber = GetSecretNumber()
End Sub
12. Наконец, вставьте следующий фрагмент в процедуру события Click кнопки cmdGuess:
Private Sub cmdGuess_Click()
Dim guess As Integer
Dim msg As String
Dim cap As String
' Создать сообщение
msg = "Введите число от 1 до 10"
' Получить число от пользователя
guess = CInt(InputBox(msg))
'Число угадано верно?
If guess = SecretNumber Then
' Да! Пользователь угадал!
msg = "Вы угадали!"
cap = "Верно!"
' Вывести сообщение
MsgBox msg, vbExclamation, cap
'Закончить игру
End
Else
' Нет. Следующая попытка...
msg = "Неверно."
cap = "Попробуйте снова!"
MsgBox msg, vbInformation, cap
End If
End Sub
Эта процедура — самая важная часть нашего примера. Знак = впервые встречает-ся в строке msg = "Введите число...", однако сравнение происходит лишь в строке If guess = SecretNumber Then. Мы проверяем, совпало ли введенное значение с загаданным числом.
|
|
13. Сохраните проект. Мы изменим его в нескольких ближайших примерах.
14. Запустите проект клавишей F5. Если нажать кнопку Загадать число, программа загадывает случайное число от 1 до 10. Нажмите другую кнопку и попробуйте угадать это число!
При каждой попытке программа сообщает, было число названо верно или нет (рис.6.1).
Рис. 6.1. Игра с угадыванием числа