Создание программы на
Visual basic для вывода случайного числа в
заданном интервале чисел (Часть 5).
Итак, в прошлый раз мы добились
поставленной цели и получили вполне
работоспособную программу, однако ее
необходимо усовершенствовать. Предположим,
что вы забыли задать интервал генерируемых
чисел и сразу нажали кнопку "Generat a
number". Запустите программу и без указания
значений Max и Min нажмите на Max и Min, как
видите программа выдала сообщение об ошибке,
- для выхода нажмите на кнопку "End".
Давайте попробуем исправить эту ошибку
таким способом, чтобы программа в таких
случаях выдавала сообщение об ошибке с
текстом: "Вы забыли указать значения Max и
Min".
Для этого случая мы используем
конструкцию типа If .... Then (Если ... то),
после If необходимо записать условие, а
после Then записываются операции, которые
выполняются, если условие верно (True) и не
выполняются если условие не верно (False).
If Условие Then Выполнить
Например,
Dim x, y
x=5
If x<4 Then y=5
If x>4 Then y=3
В этом случае мы сначала инициализируем
переменные (x) и (y), затем переменной x
присваиваем значение 5, и задаем условие, -
если (x) меньше 4, то y=5, а, если x>4, то
y=3. Следовательно после выполнения данных
операций (y) будет присвоено значение 3,
т.к. 5>4.
Если после слова Then надо использовать
несколько операторов, то условие If ...
Then необходимо завершить оператором
End If, например:
Dim x, y
x=5
If x<4 Then
y=5
x=y
End If
В этом случае если x<4, то (y)
присваивается значение 5, а (x)
присваивается значение (y), т.е. тоже 5.
Для выполнения различных операторов в
зависимости от условия в Visual Basic
используется конструкция If .... Then ...
Else (Если ... То ... В обратном
случае), после Else следуют операторы,
которые выполняются, если условие If не
верно (False), например:
Dim x, y
x=5
If x<4 Then
y=5
x=y
Else
y=4
x=y
End If
Т.к. x=5, то условие x<4 не верно,
следовательно будет выполняться блок,
следующий за оператором Else, т.е. (y) будет
присвоено значение 4, а (x) также значение
4.
В условии после оператора If можно
задавать несколько параметров, указывая
характер их проверки на верность: если между
условиями записать (Or), то условие
будет верным, если одно из выражений
является true, а если между условиями
записать (And), то оно выполнится
только в том случае, если оба выражения
верны. Например,
Dim x, y
x=2
y=3
If x>4 Or y<2 Then
y=5
x=y
Else
y=4
x=y
End If
В этом случае будет выполняться первый
блок, т.к. второе выражение удовлетворяет
условию, однако, если вместо (Or) мы запишем
(And), то будет задействован второй блок -
после оператора Else.
А теперь давайте преобразуем нашу программку
как было задумано в начале урока. Дважды
щелкните на кнопке "Generat a number" и
составьте следующий код для данной кнопки:
Private Sub Command1_Click()
Dim Max
Dim Min
If txtMax.Text = "" Or txtMin.Text = ""
Then
MsgBox "Вы забыли указать значения Max
и Min"
Else
Max = txtMax.Text
Min = txtMin.Text
lblNumber.Caption = Int((Max - Min) *
Rnd() + Min)
End If
End Sub
MsgBox выводит на экран сообщение в окошечке
с кнопкой "Ok".
А теперь запустите приложение и, ничего не
набирая в полях Max и Min, нажмите на кнопку
"Generat a number", как видите появилось
наше сообщение (Рис. 18).
Рис.18 Подсказка об
ошибке
Нажмите на кнопку "Ok", и данное
сообщение будет появляться до тех пор, пока
вы не укажите максимальное и минимальное
значения. Конечную версию программы вы
можете увидеть на моем сайте - в разделе
"Программы"
под названием "Random Number ".
Ну все, вроде как программка готова,
осталось лишь рассмотреть вопрос ее
компиляции для получения полноправной
Виндоусовской программы, оставим это на
следующий раз.
|