- •1. Среда разработки Microsoft Visual Basic
- •2. Структура и работа с проектом
- •3. Создание простого приложения. Основы работы с объектами
- •Объект.Метод
- •Этапы разработки приложения
- •Краткая характеристика элементов управления
- •Диалоговые окна
- •4. Основы языка Visual Basic
- •5. Примеры разработки приложений
5. Примеры разработки приложений
Пример 1.
Условие. Разработать приложение, имитирующее работу игрового автомата.
Программа должна выполнять следующие действия:
– обеспечивать пользовательский интерфейс, имеющий две кнопки "Вращать" и "Выход", три окна с изменяющимися цифрами и одно окно, отображающее сообщение в случае выигрыша;
– выбирать три случайных числа и показывать их, когда пользователь нажмет на кнопку "Вращать";
– закрывать программу после нажатия на кнопку "Выход".
Решение.
Этап создания пользовательского интерфейса программы
1. Создадим новый проект File (Файл) – New Project (Новый проект) и выберем новый проект Standard EXE.
На экране монитора отобразится новая форма Form1.
2. Создадим пользовательский интерфейс программы.
Расположим на форме объекты из Toolbars (Панель элементов управления): две кнопки (CommandButton) и 4 элемента метка (Label) как показано на рисунке
Этап установки свойств элемента
3. Как говорилось ранее, свойства элемента/объекта можно задать/изменять на этапе разработки приложения. Для этого его необходимо выделить, а требуемые свойства установить в окне Properties (Параметры).
Выделим элемент Command1 и зададим ему свойство Caption в окне Properties (Параметры):
Command1.Caption = "Вращать"
Это приводит к тому, что меняется текст надписи на кнопке.
Для второго элемента Command2 установим аналогичное свойство
Command2.Caption = "Выход"
Выбор элемента, находящегося на форме, можно осуществить не только непосредственным выбором его мышкой на форме, но и с использованием выпадающего списка, находящегося вверху окна Properties (Параметры).
Зададим свойства для элементов Label1 – Label3.
Первоначально, при запуске программы, эти элементы не должны содержать
никакой информации. Следовательно
Label1.Caption = ""
Label2.Caption = ""
Label3.Caption = ""
Изменим размер шрифта, расположение выводимого содержания в области и оформление выводимой области:
Label1.FontSize = 18
Label2.FontSize = 18
Label3.FontSize = 18
Label1.Alignment = 2 (Center)
Label2.Alignment = 2 (Center)
Label3.Alignment = 2 (Center)
Label1.BorderStyle = 1 (Fixed single)
Label2.BorderStyle = 1 (Fixed single)
Label3.BorderStyle = 1 (Fixed single)
Кроме того, так как эти элементы являются элементами одного класса Label и для них необходимо установить одинаковые свойства, то первоначально их можно все выделить (используя Shift + левая кнопка мыши), а затем установить требуемые свойства в окне Properties (Параметры).
Для элемента Label4 аналогично:
Label4.Caption = ""
Кроме того, установим для него следующие свойства на параметры шрифта и область вывода:
Label4.Font = Arial
Label4.FontSize = 14
Label4.FontBold = true
Label4.Width = 3000
Результат определения свойств элементов приведен на рисунке
Как уже говорилось, свойства элементов на форме можно задать не только
на этапе разработки, но и во время исполнения программы. Для этого все необходимые изменения нужно ввести в соответствующую процедуру в программе. Например, для определения рассмотренных выше свойств, необходимо описанные выше операторы записать в процедуру Sub Form_Load(), которая выполняется перед отображением основной формы программы.
Этап составления программного кода
Для этого нам понадобится окно Code (Код).
4. Напишем обработчик событий для кнопки Commnd2 (Выход). По условию задачи, при нажатии на эту кнопку должен происходить выход из приложения.
Дважды щелкнем на элементе Command2. Появится окно Code (Код).
Тело процедуры, связанное с обработчиком события Click для данного элемента, заключено между операторами, указывающими на начало и конец подпрограммы. Запишем туда оператор End.
Private Sub Command2_Click()
End
End Sub
5. Запишем программный код для обработчика события при нажатии на кнопку Command1 (Вращать). Для этого или два раза щелкнем на элементе Command1 или выберем его из ниспадающего меню в окне Code (Код). Запишем следующий программный код:
Private Sub Command1_Click()
Randomize 'процедура для генерации случайных чисел
Label1.Caption = Int(Rnd * 10) 'показать числа
Label2.Caption = Int(Rnd * 10)
Label3.Caption = Int(Rnd * 10)
If (Label1.Caption = 7) Or _
(Label2.Caption = 7) Or _
(Label3.Caption = 7) Then
Label4.Caption = "Вы выиграли !"
Else
Label4.Caption = ""
End If
End Sub
Результат, полученный в окне Code (Код), имеет вид:
Поясним смысл написанного программного кода.
Комментарии – это пояснительные заметки, включенные в программный код после апострофа ('). Эти примечания Visual Basic не обрабатывает; они используются только как документация, сообщающая, что именно делает программа.
Встроенная функция Randomize генерирует при запуске программы новый набор случайных чисел.
Следующие три строки управляют вычислением случайных чисел. Функция Rnd в каждой строке создает случайное число между 0 и 1 (число с десятичной точкой), а функция Int умножает число на 10 и округляет его до ближайшего целого. Этими вычислениями создается случайное число от 0 до 9. Затем три случайных числа присваиваются названиям первых трех меток на форме, и после такого присвоения они появляются на экране.
Последний оператор в программе (If) проверяет, нет ли семерки среди полученных случайных чисел. Если хоть одна семерка обнаруживается, то появляется сообщение о выигрыше. Если в наборе нет ни одной семерки, то сообщение удаляется. Символ подчеркивания (_) говорит о том, что тело оператора переносится на новую строку.
Таким образом, каждый раз после щелчка на кнопке Вращать вызывается процедура Command1_Click и выполняются программные утверждения этой процедуры.
5. Запуск программы
Запуск программы на выполнение можно выполнить разными способами:
– меню Run (Пуск) – Start (Старт)
–
нажатием кнопки
на Панели инструментов
– с помощью горячей клавиши F5.
6. После того, как проект составлен, программа запущена, не выдается никаких
никаких сообщений об ошибке ни на этапе разработки, ни при выполнении, сама программа выполняет то, что было запланировано, проект надо сохранить. Как это сделать – говорилось выше.
7. Приложения для Windows, созданные с помощью Visual Basic, имеют расширение имени файла .ехе и могут быть запущены на любой ОС Windows. Для того, чтобы создать файл приложения, необходимо выполнить пункт меню File (Файл) – Make "имя проекта.exe" (Делать "имя проекта.exe").
Пример 2.
Условие: Ввести N элементов массива. Необходимо:
– выдать сообщение об ошибке, если количество элементов массива превышает 50;
– посчитать произведение отрицательных элементов и отобразить результат;
– определить максимальный элемент в массиве и отобразить его номер.
Решение.
Этап создания пользовательского интерфейса программы
1. Создадим новый проект File (Файл) – New Project (Новый проект и выберем новый проект Standard EXE.
На экране монитора отобразится новая форма Form1.
2. Создадим пользовательский интерфейс программы.
Используя Toolbars (Панель элементов управления), расположим на форме следующие объекты: 3 элемента метка (Label), 1 элемент кнопка (CommandButton) и 1 элемент текстовое поле (TextBox):
Этап установки свойств элементов
В примере 1 мы использовали возможность установки свойств элементов на этапе разработки приложения. В этой задаче сделаем по другому – свойства элементов определим непосредственно во время выполнения приложения.
Для этого надо использовать событие, который предшествует открытию формы (т.е. перед тем, как форма станет видимой для пользователя) – Load.
3. Щелкнем два раза на форме и запишем обработчик события Load.
Private Sub Form_Load()
Form1.Caption = "Пример 3"
Label1.Caption = "Кол-во элементов массива"
Text1.Text = ""
Command1.Caption = "Ввести элементы и выполнить расчет"
Label2.Caption = ""
Label3.Caption = ""
End Sub
Можно посмотреть, что получилось: для этого надо запустить проект (F5 или Run).
Этап составления программного кода
4. Запишем программный код для обработчика события при нажатии на кнопку Command1. По условию задачи, при нажатии на эту кнопку необходимо ввести элементы массива и сделать их обработку.
При описании массива зададим количество элементов в нем не более 50. Нумерацию элементов массива начнем с 1. Ввод элементов массива будем осуществлять, используя диалоговое окно InputBox.
Полученные результаты выведем, используя элементы Label.
Запрос на выполнение программы "еще раз" выполним, используя диалоговое окно MsgBox.
Следующий программный код реализует решение исходной задачи (после знака ' записан комментарий).
Option Explicit 'устанавливает обязательное описание типов переменных
Option Base 1 'устанавливает нумерацию элементов массива с 1
Private Sub Command1_Click()
'Описание переменных
Dim Mas(50) As Single
Dim KolElMas As Integer
Dim i As Integer
Dim Sum As Long
Dim MaxEl As Single
Dim NomerMaxEl As Integer
Dim Rez As Variant
'Определение размера массива для работы
'простейшая проверка
If Text1.Text = "" Or Val(Text1.Text) > 50 Then
MsgBox ("Размерность массива не задана или превышает 50")
Text1.Text = ""
GoTo LB
End If
'кол-во элементов вводим через Text1.Text
KolElMas = Val(Text1.Text)
'ввод элементов массива
For i = 1 To KolElMas
Mas(i) = Val(InputBox(Str(i) + " элемент массива", "Ввести элементы", 0))
Next i
'при выполнении конструкции For i... Next i окно приложения имеет следующий вид
'Решение задачи
Sum = 0
MaxEl = -1E+38
NomerMaxEl = 0
For i = 1 To KolElMas
If Mas(i) < 0 Then Sum = Sum + Mas(i)
If Mas(i) > MaxEl Then
NomerMaxEl = i
End If
Next i
'Вывод результата
Label2.Caption = "Сумма отрицательных элементов = " + Str(Sum)
Label3.Caption = "Номер максимального элемента = " + Str(NomerMaxEl)
'Новая задача
Rez = MsgBox("Еще раз ?", vbYesNo, "Задача решена.")
'вид
диалогового окна
Select Case Rez
Case vbYes 'очистка предыдущих результатов
Text1.Text = ""
KolElMas = 0
Sum = 0
NomerMaxEl = 0
Label2.Caption = ""
Label3.Caption = ""
Case vbNo 'выход из программы
End
End Select
LB:
End Sub
