Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Подведем итоги. 1. В папке Лабораторная_работа_№16 создайте папку




End Sub

End Sub

Wend

End If

Else

End Sub

End Sub

End Sub

Ход работы.

1. В папке Лабораторная_работа_№16 создайте папку 16.7.

2. Расположите на форме компонент Timer.

3. Заголовку формы (Caption) задайте значение «Рисованные часы», а свойству Name – frmЧасы.

4. Объявите в разделе глобальных переменных константы и глобальные переменные:

Const r = 150

Const grad = 0.0174532

Dim x0 As Integer, y0 As Integer, hr As Integer

Dim mn As Integer, sc As Integer

 

5. Опишите процедуру инициализации формы:

'Задание формы

Private Sub Form_Initialize()

x0 = r + 80

y0 = r + 80

hr = 90 - Hour(Time) * 30 - (Minute(Time) / 12) * 6

mn = 90 - Minute(Time) * 6

sc = 90 - Second(Time) * 6

Timer1.Interval = 1000

Timer1.Enabled = True

FrmЧасы.ScaleMode = 3

FrmЧасы.BackColor = vbYellow

 

6. Нарисуем линю из центра циферблата. Процедура создается самостоятельно между ключевыми словами Sub и End Sub:

'рисование линии из центра циферблата

Sub Strelka(x0, y0, a, s As Integer)

Dim x1, y1 As Integer

x1 = Round(x0 + s * Cos(a * grad))

y1 = Round(y0 - s * Sin(a * grad))

Line (x0, y0)-(x1, y1)

 

7. Аналогично нарисуем стрелки и зададим их движение:

'Рисование стрелок и их движение

Sub Strelki()

FrmЧасы.DrawWidth = 3

FrmЧасы.ForeColor = FrmЧасы.BackColor

Call Strelka(x0, y0, hr, r - 50)

Call Strelka(x0, y0, mn, r - 20)

Call Strelka(x0, y0, sc, r - 8)

hr = 90 - Hour(Time) * 30 - (Minute(Time) / 12) * 6

mn = 90 - Minute(Time) * 6

sc = 90 - Second(Time) * 6

FrmЧасы.DrawWidth = 4

FrmЧасы.ForeColor = RGB(0, 0, 0)

Call Strelka(x0, y0, hr, r - 50)

FrmЧасы.DrawWidth = 3

Call Strelka(x0, y0, mn, r - 20)

FrmЧасы.DrawWidth = 1

FrmЧасы.ForeColor = RGB(200, 0, 0)

Call Strelka(x0, y0, sc, r - 8)

 

8. С помощью события рисования Paint нарисуем на форме циферблат:

'Рисование циферблата

Private Sub Form_Paint()

Dim x1, y1, a, h As Integer

a = 0

h = 3

While a < 360

x1 = Round(x0 + s * Cos(a * grad))

y1 = Round(y0 - s * Sin(a * grad))

If a Mod 30 = 0 Then

' Line (x1, y1)-(x1 + 7, y1 + 5), vbRed, BF

CurrentX = x0 + Round((r + 20) * Cos(2 * a * 3.14 / 360)) - 7

CurrentY = y0 - Round((r + 20) * Sin(2 * a * 3.14 / 360)) - 7

ForeColor = vbBlue

FontSize = 12

FontBold = True

Print h

h = h - 1

If h = 0 Then h = 12

Line (x1, y1)-(x1 + 2, y1 + 2), vbBlue, BF

a = a + 6

'Вызов процедур движения стрелок

Call Strelki

 

9. Напишем обработчик события Timer по щелчку на компоненте Timer:

Private Sub Timer1_Timer()

Call Strelki

 

10. Сохраните проект под именем Часы.vbp, а форму под именем frmЧасы.frm

11. Запустите проект на выполнение и проверьте его функциональность

12. Закройте запущенное приложение.

13. Создайте exe-файл приложения с помощью команды File → Make Часы.exe.

14. Выйдите из среды Visual Basic.

15. Запустите на выполнение файл Часы.exe и убедитесь в работоспособности exe-файла.

 

В работе были использованы новые

объекты:

- Animation

- MMControl

- WebBrowser

- Timer

методы:

Open (применяется к объекту Animation для открытия файла)

Play (применяется к объекту Animation для воспроизведения файла)

Close (применяется к объекту Animation для закрытия файла)

Navigate (применяется к объекту WebBrowser для загрузки web-страницы)

свойства:

InitDir (исходная папка)

Command (применяется к объекту MMControl и в зависимости от значения позволяет открывать, закрывать и воспроизводить звуковой файл)

FileName (имя файла)

Notify (устанавливает возможность работы служб сообщений; если установлено значение True – служба работает; False – на работает)

Shareable (устанавливает доступ других программ к устройству MCI)

DeviceType (устанавливает тип устройства)

hWndDisplay (назначает дескриптор окна вывода)

Interval (устанавливает интервал времени, через который работает таймер)

Задания для самостоятельного выполнения

1. Составьте конспект по теоретической части лабораторной работы. Выполненное задание покажите преподавателю.

2. Разработайте приложение, которое позволяет с помощью таймера и командных кнопок управлять движением какого-нибудь объекта (например, по щелчку на кнопке начинает двигаться рисунок).

 




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 308; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.