Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция_!!!__ по VB 1 курс заочники1.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
298 Кб
Скачать
☆

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