Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторный практикум по Visual Basic.doc
Скачиваний:
51
Добавлен:
31.08.2019
Размер:
10.63 Mб
Скачать

Практическая часть

Задание 1. Создание проигрывателя WAV файлов

Постановка задачи.

Разработать приложение, позволяющее проигрывать музыкальные файлы с расширением .wav.

Ход работы.

  1. Создайте папку Лабораторная_работа_№16, а в ней папку 16.1.

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. В открывшемся окне выберите тип приложения STANDARD.EXE и нажмите кнопку «Открыть».

  4. Выберите команду Project - Components.

  5. В появившемся окне найдите строку Microsoft Multimedia Control 6.0 и поставьте напротив нее галочку. В окне ToolBar появится новый компонент – - MMControl.

  6. Аналогично выберите строку Microsoft Common Dialog Control 6.0 и поставьте напротив нее галочку. На панели инструментов ToolBar появится компонент Common Dialog - .

  7. Свойству Caption формы Form1 задайте значение WAV Player.

  8. Разместите на форме компоненты Common Dialog и MMControl.

  9. Т акже разместите на форме компонент CommandButton. Свойству Caption задайте значение «Проиграть файл» (Рис.16.1).

  10. Свойству Name компонента CommonDialog задайте значение CDlg1.

  11. Щелкните два раза по кнопке CommandButton и наберите следующий программный код:

Private Sub Command1_Click()

CDlg1.ShowOpen

MMControl1.FileName = CDlg1.FileName

MMControl1.Command = "open"

End Sub

  1. Для событий «Загрузка формы» (для его выбора можно щелкнуть два раза в любом пустом месте на форме) и «Сброс формы» (выбирается в окне программного кода) напишите следующие обработчики событий:

Private Sub Form_Load()

MMControl1.Notify = False

MMControl1.Wait = True

MMControl1.Shareable = False

MMControl1.DeviceType = "WaveAudio"

End Sub

Private Sub Form_Unload(Cancel As Integer)

MMControl1.Command = "Close"

End Sub

  1. Сохраните форму под названием WAVPlayer.frm и проект под именем WAVPlayer.vbp в папке 16.1.

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

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

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

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

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

Задание 2. Создание проигрывателя AVI файлов

Постановка задачи.

Поставим задачу: разработать приложение, позволяющее проигрывать видеофайлы с расширением .avi.

Ход работы.

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

  2. Скопируйте файлы WAVPlayer.vbp, WAVPlayer.frm и WAVPlayer.vbw из папки 16.1 в папку 16.2.

  3. Откройте файл WAVPlayer.vbp.

  4. Свойству Name формы задайте значение AVIPlayer, а свойству Caption – AVI Player.

  5. Сохраните файл под названием AVIPlayer.vbp, а также форму под аналогичным именем (например, AVIPlayer.frm).

  6. Внесите изменения в программный код обработчиков событий:

Private Sub Command1_Click()

CDlg1.ShowOpen

MMControl1.FileName = CDlg1.FileName

MMControl1.Command = "open"

End Sub

Private Sub Form_Load()

MMControl1.Notify = False

MMControl1.Wait = True

MMControl1.Shareable = False

MMControl1.DeviceType = "AVIVideo"

End Sub

Private Sub Form_Unload(Cancel As Integer)

M MControl1.Command = "Close"

End Sub

  1. Запустите проект на выполнение и проверьте его функциональность. Внешний вид приложения во время работы приведен на Рис.16.2

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

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

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

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

Задание 3. Переработка проигрывателя AVI файлов

Постановка задачи.

В предыдущем задании изображение из файла выводится в отдельное окно. Но иногда требуется выводить изображение прямо на форме. Поставим задачу: переработать приложение, позволяющее проигрывать видеофайлы с расширением .avi, но с возможностью проигрывания изображений на форме.

Ход работы.

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

  2. Скопируйте файлы AVIPlayer.vbp, AVIPlayer.frm и AVIPlayer.vbw из папки 16.2 в папку 16.3.

  3. Откройте файл AVIPlayer.vbp.

  4. Свойству Name формы задайте значение AVIPlayer2.

  5. Разместите на форме компонент PictureBox (Рис.16.3).

  6. Сохраните файл под названием AVIPlayer2.vbp, а также форму под аналогичным именем (например, AVIPlayer2.frm).

  7. Внесите изменения в программный код обработчиков событий:

P rivate Sub Command1_Click()

CDlg1.ShowOpen

MMControl1.FileName = CDlg1.FileName

MMControl1.Command = "open"

MMControl1.hWndDisplay = Picture1.hWnd

frmAVIPlayer.Picture1.SetFocus

End Sub

Private Sub Form_Load()

MMControl1.Notify = False

MMControl1.Wait = True

MMControl1.Shareable = False

MMControl1.DeviceType = "WaveAudio"

MMControl1.DeviceType = "AVIVideo"

End Sub

Private Sub Form_Unload(Cancel As Integer)

MMControl1.Command = "Close"

End Sub

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

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

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

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

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

  1. Внешний вид приложения во время работы приведен на Рис.16.4.

Задание 4. Создание проигрывателя видеофайлов с использованием компонента Animation

Постановка задачи.

Для просмотра не озвученных видеофайлов существует также еще один компонент – Animation. Поставим задачу: создать приложение, позволяющее проигрывать видеофайлы с использованием компонента Animation.

Ход работы.

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

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. В открывшемся окне выберите тип приложения STANDARD.EXE и нажмите кнопку «Открыть».

  4. Выберите команду Project - Components.

  5. В появившемся окне найдите строку Microsoft Windows Common Controls – 2.6.0 (SP6) и поставьте напротив нее галочку. В окне ToolBar появится новый компонент – - Animation.

  6. А налогично выберите строку Microsoft Common Dialog Control 6.0 и поставьте напротив нее галочку. На панели инструментов ToolBar появится компонент Common Dialog - .

  7. Разместите на форме компоненты Animation и CommonDilalog (Рис.16.5).

  8. Разместите на форме также два компонента CommandButton (Рис.16.5).

  9. Установите значения компонентов в соответствии с Таблицей 16.1.

Таблица 16.1

Объект

Свойство Caption

Свойство Name

Form1

AVI Player

frmAVIPlay

CommonDialog1

-

CDlg1

CommandButton1

Включить анимацию

cmdВключить

CommandButton2

Остановить анимацию

cmdОстановить

Animation1

-

Animation1

  1. Необязательно! У компонента CommonDialog1 можно установить свойство InitDir, в котором следует прописать путь к директории с файлами анимации, например: C:\Program Files\Microsoft Visual Studio\Common\Graphics\Videos. Тогда в диалоговом окне открытия файла будет сразу же отображаться заданная папка, содержащая видеофайлы.

  2. Щелкните по кнопке «Включить анимацию» и в открывшемся окне напишите следующий программный код:

Private Sub cmdВключить_Click()

CDlg1.ShowOpen

FileName = CDlg1.FileName

Animation1.Open FileName

Animation1.Play

End Sub

  1. Для кнопки «Остановить анимацию» щелкните по ней два раза и в открывшемся окне напишите следующий программный код:

Private Sub cmdОстановить_Click()

Animation1.Stop

End Sub

  1. В окне программного кода выберите объект Form и событие Unload. Для данного события напишите следующий программный код:

Private Sub Form_Unload(Cancel As Integer)

Animation1.Close

End Sub

  1. Сохраните проект под именем AVIPlayer3.vbp, а форму под именем frmAVIPlay.frm

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

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

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

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

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

  1. Внешний вид приложения во время работы приведен на Рис.16.6.

З адание 5. Создание приложения «Секундомер»

Постановка задачи.

Создать приложение, позволяющее по щелчку на кнопке запустить или остановить секундомер. Примерный вид приложения приведен на Рис.16.7.

Ход работы.

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

  2. Запустите программу Microsoft Visual Basic 6.0.

  3. Расположите на форме 2 компонента Label, 2 компонента CommandButton, 1 компонент Timer.

  4. Установите свойства компонентов в соответствии с Таблицей 16.2, или ориентируясь на Рис.16.7.

Таблица 16.2 – Свойства компонентов приложения «Секундомер»

Компонент

Свойство

Значение

Form1

Caption

Секундомер

Name

frmСекундомер

MaxButton, MinButton

False

Icon

Загрузите любое графическое изображение формата *.ico

Label1

Caption

00:

Label2

Caption

00

Timer

Interval

1

CommandButton1

Caption

СТАРТ

CommandButton2

Caption

СБРОС

Свойство Font и BackColor установите у компонентов по своему усмотрению

Свойство Style у компонентов CommandButton установите равным 1 - Graphical

  1. Опишите переменные в разделе глобальных объявлений:

Dim msec As Integer, sec As Integer

  1. Обнулите переменные при загрузке приложения:

Private Sub Form_Load()

msec = 0

sec = 0

End Sub

  1. Напишите обработчики событий Click при щелчке на соответствующую кнопку: (необходимые комментарии приведены после знака апострофа):

'щелчок по кнопке "Старт"

Private Sub Command1_Click()

If Command1.Tag = 0 Then 'нажали кнопку "Старт"

Timer1.Enabled = True

Command1.Caption = "СТОП"

Command1.Tag = 1 'теперь Tag = 1, т.е. кнопка Command1 - кнопка "Стоп"

Command2.Enabled = False 'кнопка "Сброс" недоступна

Else

Timer1.Enabled = False

Command1.Caption = "СТАРТ"

Command1.Tag = 0 'теперь Tag = 0, т.е. кнопка Command1 - кнопка "Старт"

Command2.Enabled = True 'кнопка "Сброс" доступна

End If

End Sub

'щелчок по кнопке "Сброс"

Private Sub Command2_Click()

sec = 0

msec = 0

Label1.Caption = "00:"

Label2.Caption = "00"

End Sub

  1. Напишите обработчик события Timer(), для чего щелкните два раза по компоненту Timer:

Private Sub Timer1_Timer()

If msec < 59 Then

msec = msec + 1

Label2.Caption = Format(msec, "00")

Else

msec = 0

Label2.Caption = Format(msec, "00")

sec = sec + 1

Label1.Caption = Format(sec, "00:")

End If

End Sub

  1. Сохраните проект под именем Секундомер.vbp, а форму под именем frmСекундомер.frm

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

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

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

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

  6. Запустите на выполнение файл Секундомер.exe и убедитесь в работоспособности exe-файла.

Задание 6. Создание приложения «Просмотр Web-страниц»

П остановка задачи.

Создать приложение, позволяющее по выбору пользователя отображать различные web-страницы, расположенные на компьютере пользователя. Примерный вид приложения приведен на Рис.16.8.

Ход работы.

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

  2. Скопируйте в папку любые 3 web-страницы или создайте свои.

  3. Запустите программу Microsoft Visual Basic 6.0.

  4. Расположите на форме 1 компонент WebBrowser, 3 компонента CommandButton.

  5. Установите свойства компонентов в соответствии с Таблицей 16.3, или ориентируясь на Рис.16.8.

Таблица 16.3 – Свойства компонентов приложения «Просмотр web-страниц»

Компонент

Свойство

Значение

Form1

Caption

Просмотр web-страниц

Name

frmИнтернет

CommandButton1

Caption

Файл №1

CommandButton2

Caption

Файл №2

CommandButton3

Caption

Файл №3

WebBrowser1

Visible

False

  1. Напишите обработчики событий Click при щелчке на кнопку «Файл №1»:

Private Sub Command1_Click()

WebBrowser1.Visible = True

WebBrowser1.Navigate "Путь к файлу\Имя файла.htm (или html)"

End Sub

  1. Напишите обработчики события Click для оставшихся кнопок, загрузив в них соответствующие файлы.

  2. Сохраните проект под именем Интернет.vbp, а форму под именем frmИнтернет.frm

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

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

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

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

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

З адание 7. Создание приложения «Рисованные часы»

Постановка задачи.

Создать приложение, рисующее на форме часы со стрелками. Примерный вид приложения приведен на Рис.16.9.

Ход работы.

  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

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

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

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

End Sub

  1. Нарисуем линю из центра циферблата. Процедура создается самостоятельно между ключевыми словами 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)

End Sub

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

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

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)

End Sub

  1. С помощью события рисования 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

Else

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

End If

a = a + 6

Wend

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

Call Strelki

End Sub

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

Private Sub Timer1_Timer()

Call Strelki

End Sub

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

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

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

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

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

  6. Запустите на выполнение файл Часы.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. Разработайте приложение, которое позволяет с помощью таймера и командных кнопок управлять движением какого-нибудь объекта (например, по щелчку на кнопке начинает двигаться рисунок).

Вопросы для контроля

  1. Для чего предназначен объект Animation? WebBrowser? MMControl? Timer?

  2. Для чего компоненту Timer служит свойство Interval?

  3. Перечислите методы объекта Animation и MMControl.

  4. Укажите формат метода Navigate

  5. Какое свойство объекта MMControl устанавливает тип устройства для воспроизведения файлов?