Лабораторная работа № 1.
Задание 1. Создать
приложение, в котором выводится 4 случайных числа от 0 до 9. Если среди чисел
есть 7, то в окне появляется картинка.
1. Запустить VBA: Сервис \ Макрос \ Редактор Visual Basic.
2. Создать новый проект (Insert \ UserForm).
3. Переименовать форму - «Счастливый номер»: вызвать панель свойств (View \ Properties Window) и изменить свойство Caption.
4. Добавить на форму объекты:
Объект |
Свойство |
Значение |
Label (надпись) |
Name |
LabelTop |
Caption |
Счастливый билет |
|
Font |
Tahoma, 22 |
|
Label (4 надписи) |
Name |
Label1, Label2, Label3, Label4 |
Caption |
|
|
BackColor |
(белый) |
|
TextAlign |
2 |
|
Font |
TimesNewRoman, 26 |
|
Border Style |
1 |
|
Command Button (кнопка) |
Name |
CmdSpin |
Caption |
Вращать |
|
Command Button (кнопка) |
Name |
CmdExit |
Caption |
Выход |
|
Image |
Name |
ImageMoney |
Объект |
Свойство |
Значение |
(рисунок) |
Visible |
False (вначале рисунок невидим) |
PictureSizeMode |
1 |
|
Picture |
(вставить рисунок денег) |
Примечание. При создании надписей Label 2-5 надо создать первую из них, настроить все свойства и параметры; после чего трижды скопировать ее.
5. В первой строке программного кода в разделе General Declarations записать оператор: Option Explicit
Примечание. Данный оператор контролирует использование переменных, что позволяет избежать многих ошибок.
6. Запрограммировать щелчок на кнопке Выход на завершение программы и сделать ее кнопкой отмены:
a) Чтобы сделать кнопку кнопкой отмены (реагирует на нажатие клавиши Esc), надо изменить значение свойства Cancel на True.
b) После этого дважды щелкнуть по кнопке Выход и записать программный код:
Private Sub CmdExit_Click()
End
End Sub
7. Запрограммировать щелчок на кнопке Вращать на появление случайных чисел от 0 до 9 на надписях Label1, Label2, Label3, Label4. А также проверке, есть ли среди чисел 7. Если есть, то выводим изображение рисунка (свойство Visible), спрятанное вначале каждого события. a) Дважды щелкнуть по кнопке Вращать.
b) Записать программный код: Private Sub CmdSpin_Click()
'Прячем рисунок
ImageMoney.Visible = False
'Вывод случайных чисел Randomize
Label1 = Int(Rnd * 10)
Label2 = Int(Rnd * 10)
Label3 = Int(Rnd * 10)
Label4 = Int(Rnd * 10)
'Проверка
If (Label1 = 7) Or (Label2 = 7) Or (Label3 = 7) Or (Label4 = 7) Then
ImageMoney.Visible = True
End If End Sub
8. Протестировать программу.
Самостоятельная работа.
9. Добавить на форму еще две надписи: Label5, Label6 с теми же свойствами, что и Label1-Label4, разместив их в одной строке.
10. Изменить диапазон выбора случайных чисел: от 1 до 5, а «счастливым» был набор, в котором сумма первых трех чисел равнялась сумме трех последних. Примечание. Поскольку содержимое надписей Label1-Label6 – текст, то при нахождении суммы его надо перевести в число с помощью функции Val (т.е.
слагаемое будет не Label1, а Val (Label1)).
Задание 2. Создать программу–тренинг «Таблица умножения» (без проверки корректности введенных данных).
Комментарии.
При нажатии на кнопку Начать выводится 2 случайных числа от 0 до 10.
После чего кнопка переименовывается в Продолжить.
В текстовое окно вводится ответ. После нажатия на кнопку Проверить ответ анализируется и на экран выводится окно сообщений либо со словом «Молодец», либо «Неправильно!». При нажатии на кнопку Закончить выход из приложения.
1. Запустить VBA и создать новый проект.
2. Переименовать форму - «Таблица умножения».
3. Добавить на форму объекты:
Объект |
Свойство |
Значение |
|
Label (надпись) |
Name |
LabelTable |
|
Caption |
Таблица умножения |
||
Font |
Tahoma, 22 |
||
Frame (рамка) |
Name |
Frame1 |
|
Caption |
Введите правильный ответ |
||
Font |
Tahoma, 12 |
||
Command Button (кнопка) |
Name |
CmdReturn |
|
Caption |
Начать |
||
Command Button (кнопка) |
Name |
CmdEnd |
|
Caption |
Закончить |
||
Следующие объекты располагаются на рамке Frame1 |
|||
Объект |
|
Свойство |
Значение |
|
(перед вставкой на поле, выделить рамку): |
||
Label (2 надписи) |
|
Name |
Label1, Label2 |
Caption |
|
||
BackColor |
(белый) |
||
TextAlign |
2 |
||
Font |
TimesNewRoman, 36 |
||
Border Style |
1 |
||
Label (надпись) |
|
Name |
Label3 |
Caption |
* |
||
TextAlign |
2 |
||
Font |
TimesNewRoman, 36 |
||
Label (надпись) |
|
Name |
Label4 |
Caption |
= |
||
TextAlign |
2 |
||
Font |
TimesNewRoman, 36 |
||
TextBox (текстовое поле) |
|
Name |
TextBox1 |
Text |
|
||
Font |
TimesNewRoman, 36 |
||
Enabled |
False |
||
Command Button (кнопка) |
|
Name |
CmdRun |
Caption |
Проверить |
||
Enabled |
False |
4. Включить проверку переменных (Option Explicit).
5. Запрограммировать щелчок на кнопке Закончить на завершение программы и сделать ее кнопкой отмены.
6. Запрограммировать щелчок на кнопке Начать:
a) появление случайных чисел от 0 до 10 на надписях Label1, Label2;
b) сменить имя кнопки на Продолжить (свойство Caption):
CmdReturn.Caption = "Продолжить"
c) очистить текстовое поле и сделать его доступным (свойство Enabled):
TextBox1 = ""
TextBox1.Enabled = True
d) сделать доступной кнопку Проверить: CmdRun.Enabled = True
7. Запрограммировать щелчок на кнопке Проверить:
Private Sub CmdRun_Click()
If TextBox1 = Label1 * Label2 Then
MsgBox "Молодец!", vbOKOnly + vbInformation, "Проверка"
Else
MsgBox "Неправильно!", vbOKOnly + vbCritical, "Проверка"
End If
End Sub
Самостоятельная работа.
8. Переделать приложение и программный код таким образом, чтобы выдавались и проверялись примеры на сложение (не забудьте перевести тексты Label – в числа).
9.
Переделайте процедуру, реагирующую на щелчок мыши по кнопке Проверить
таким образом, чтобы в случае неправильного ответа, в окне сообщений
появлялась надпись: «Неправильно. Правильный ответ – [указать правильный
ответ]».
ОБРАЗЦЫ
1. «Счастливый номер»
Option Explicit
Private Sub CmdExit_Click()
End
End Sub
Private Sub CmdSpin_Click()
'Прячем картинку
ImageMoney.Visible = False
'Вывод случайных чисел Randomize
Label1 = Int(Rnd * 10)
Label2 = Int(Rnd * 10)
Label3 = Int(Rnd * 10)
Label4 = Int(Rnd * 10)
'Проверка
If (Label1 = 7) Or (Label2 = 7) Or (Label3 = 7) Or (Label4 = 7) Then
ImageMoney.Visible = True
End If
End Sub
2. «Таблица умножения»
Option Explicit
Private Sub CmdExit_Click()
End
End Sub
Private Sub CmdEnd_Click()
End
End Sub
Private Sub CmdReturn_Click()
'Вывод примера Randomize
Label1 = Int(Rnd * 11)
Label2 = Int(Rnd * 11) 'Меняем надпись на кнопке
CmdReturn.Caption = "Продолжить"
'Становится доступной кнопка Проверить
CmdRun.Enabled = True
'Становится доступным текстовое поле, которое очищается
TextBox1.Enabled = True
TextBox1 = ""
End Sub
Private Sub CmdRun_Click()
If TextBox1 = Label1 * Label2 Then
MsgBox "Молодец!", vbOKOnly + vbInformation, "Проверка" Else
MsgBox "Неправильно!", vbOKOnly + vbCritical, "Проверка"
End If
End Sub
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.