Документ взят из кэша поисковой машины. Адрес оригинального документа : http://hist.msu.ru/Departments/Inf/Stud/les5.doc
Дата изменения: Tue Apr 7 05:38:27 2009
Дата индексирования: Tue Oct 2 01:52:45 2012
Кодировка: koi8-r

Занятие 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