Упражнение "Светофор"

advertisement
Занятие 5 (17 марта)
Часть 2 (методическая).
 Работа с изображениями и анимацией
 Работа с таймером
Часть 3 (практикум).
 Упражнения 1–3
 Самостоятельная работа (задания 1–2)
Упражнение 1
Создать форму с двумя текстовыми полями, двумя командными кнопками, двумя метками
и одним окном рисунка со свойством PictureSizeMode = 3 (zoom).
У первой кнопки свойство Caption – "Загрузить картинку", у второй "Сохранить
картинку". У первой метки свойство Caption – "Введите имя файла с картинкой", у второй
" Введите имя файла для сохранения картинки".
Загружаться картинка будет из файла, имя которого задается в первом текстовом поле,
сохраняться – в файл, имя которого задается во втором текстовом поле.
Код 1
Private Sub CommandButton1_Click()
If TextBox1.Text = "" Then
Label1.ForeColor = vbRed
End If
Image1.Picture = LoadPicture(TextBox1.Text) 'Картинка из файла, заданного в 1-м поле,
загружается в объект Image
End Sub
Private Sub CommandButton2_Click()
If TextBox2.Text = "" Then
Label2.ForeColor = vbRed
Else
SavePicture Image1.Picture, TextBox2.Text 'Картинка из объекта Image загружается в файл,
заданный во 2-м поле
End If
End Sub
Упражнение 2
Создать форму, на которой разместить кнопку и текстовое поле. При нажатии на кнопку
текстовое поле будет сдвигаться на 10 пикселей (попробуйте самостоятельно проделать
это с другим объектом).
Код 2
Private Sub CommandButton3_Click()
TextBox3.Left = TextBox3.Left + 10 'текстовое поле при щелчке будет сдвигаться на десять
пикселей (вместо текстового поля можно указать любой другой объект).
End Sub
Упражнение 3 "Светофор" (работа с таймером)
На форме должны поочередно "зажигаться" красный, желтый и зеленый cигналы светофора, причем желтый
должен включаться в конце работы красного, а зеленый перед окончанием работы должен несколько раз
мигнуть.
Создать форму, на которой разместить:
 четыре метки с именами:
o красный_свет,
o желтый_свет,
o зеленый_свет,
o счетчик;
 три флажка:
o красный_флажок,
o желтый_флажок,
o зеленый_флажок;
 две командных кнопки Старт и Стоп;
Код 3
Private Sub красный_флажок_Click()
If красный_флажок = True Then красный_свет.Enabled = True
If красный_флажок = False Then красный_свет.Enabled = False
End Sub
Private Sub желтый_флажок_Click()
If желтый_флажок = True Then желтый_свет.Enabled = True
If желтый_флажок = False Then желтый_свет.Enabled = False
End Sub
Private Sub зеленый_флажок_Click()
If зеленый_флажок = True Then зеленый_свет.Enabled = True
If зеленый_флажок = False Then зеленый_свет.Enabled = False
End Sub
Private Sub Старт_Click()
включен = True
счетчик = ""
красный_флажок = False
желтый_флажок = False
зеленый_флажок = False
зеленый_свет.Enabled = False
желтый_свет.Enabled = False
красный_свет.Enabled = False
x=0
Do
Dim PauseTime, Start
PauseTime = 0.5 ' установка временного интервала в 1 сек.
Start = Timer ' установка начального времени
Do While Timer < Start + PauseTime
DoEvents ' передача управления другим процессам на время паузы
Loop
x=x+1
счетчик = x
'Красный
If x = 1 Then желтый_флажок = False
If x = 1 Then красный_флажок = True
If x = 2 Then красный_флажок = True
If x = 3 Then красный_флажок = True
If x = 4 Then красный_флажок = True
If x = 5 Then красный_флажок = True
If x = 6 Then красный_флажок = True
If x = 7 Then красный_флажок = True
If x = 8 Then красный_флажок = True
If x = 9 Then красный_флажок = True
If x = 10 Then красный_флажок = True
If x = 17 Then красный_флажок = False
'Желтый
If x = 11 Then желтый_флажок = True
If x = 12 Then желтый_флажок = True
If x = 13 Then желтый_флажок = True
If x = 14 Then желтый_флажок = True
If x = 15 Then желтый_флажок = True
If x = 16 Then желтый_флажок = True
If x = 17 Then желтый_флажок = False
'Зелёный
If x = 17 Then зеленый_флажок = True
If x = 18 Then зеленый_флажок = True
If x = 19 Then зеленый_флажок = True
If x = 20 Then зеленый_флажок = True
If x = 21 Then зеленый_флажок = True
If x = 22 Then зеленый_флажок = True
If x = 23 Then зеленый_флажок = True
If x = 24 Then зеленый_флажок = True
If x = 25 Then зеленый_флажок = True
If x = 26 Then зеленый_флажок = False
If x = 27 Then зеленый_флажок = True
If x = 28 Then зеленый_флажок = False
If x = 29 Then зеленый_флажок = True
If x = 30 Then зеленый_флажок = False
If x = 31 Then зеленый_флажок = True
If x = 32 Then зеленый_флажок = False
'Опять жёлтый
If x = 33 Then желтый_флажок = True
If x = 34 Then желтый_флажок = True
If x = 35 Then желтый_флажок = True
If x = 36 Then желтый_флажок = True
If x = 37 Then желтый_флажок = True
If x = 38 Then желтый_флажок = True
If x = 39 Then желтый_флажок = True
If x = 40 Then желтый_флажок = False
If x = 40 Then x = 0
If x = 0 Then желтый_флажок = True
Loop Until x = 41
выход:
End Sub
Private Sub Стоп_Click()
UserForm7.hide
End Sub
Download