- •Введение. Установка среды программирования
- •2. История языка Basic
- •3. Установка Visual Basic
- •Лабораторная работа №1. Интерфейс Visual Basic. Создание первого проекта
- •Теоретическая часть
- •1 . Первое знакомство
- •5. Стандартная панель инструментов
- •Практическая часть
- •Лабораторная работа №2. Изменение свойств компонентов. Метод Print
- •Теоретическая часть
- •1. Состав панели управления
- •2. Окно свойств и редактора кода
- •3. Свойства элементов управления
- •3.1 Свойства элемента Form
- •3.2 Свойства элемента TextBox
- •3.3. Свойства компонента CommandButton
- •Объект.Print [Список вывода]
- •Объект.Cls Практическая часть
- •Лабораторная работа №3. Работа с простейшим графическим объектом Visual Basic
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №4. Работа с арифметическими выражениями и функциями
- •Теоретическая часть
- •1. Арифметические выражения Visual Basic.
- •2. Встроенные функции Visual Basic
- •3. Функции преобразования
- •Str (число)
- •Val (символьное выражение)
- •Практическая часть
- •Лабораторная работа №5. Решение простейших математических задач с использованием линейных алгоритмов
- •Теоретическая часть
- •1. Типы данных
- •2. Объявление переменных
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Оператор_объявления_типа Строка_интервалов_имен
- •3. Константы Visual Basic
- •4. Область видимости переменной
- •Public / Private / Dim Имя_переменной [As Тип_переменной]
- •Имя_формы.Имя_переменной
- •Практическая часть
- •Лабораторная работа №6. Программирование ветвлений с использованием оператора If
- •Теоретическая часть
- •1. Конструкция If … Then … End If
- •2. Конструкция If … Then … Else … End If
- •3. Конструкция If … Then … Else If… End If
- •Практическая часть
- •Лабораторная работа №7. Программирование ветвлений с использованием оператора Case
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №8. Программирование циклов
- •Теоретическая часть
- •1. Цикл For…Next
- •2. Цикл For Each … Next
- •3. Цикл Do While … Loop
- •4. Цикл Do Until … Loop
- •5. Цикл Do … Loop While
- •6. Цикл Do … Loop Until
- •7. Цикл While … Wend
- •Практическая часть
- •Лабораторная работа №9. Разработка приложений для обработки массивов
- •Теоретическая часть
- •1. Объявление массивов
- •2. Массивы с фиксированной границей и динамические массивы.
- •UBound (имяМассива [, измерение]) Практическая часть
- •Лабораторная работа №10. Разработка приложений с использованием методов рисованИя графических примитивов
- •Теоретическая часть
- •1. Графическая поверхность
- •2. Графические примитивы
- •Практическая часть
- •Лабораторная работа №11. Построение графиков и диаграмм
- •Лабораторная работа №12. Применение пользовательских диалоговых окон
- •Теоретическая часть
- •1. Окно и функция InputBox
- •2. Окно MsgBox
- •MsgBox Текст сообщения [,Константа] [,Заголовок]
- •3. Функция MsgBox()
- •Практическая часть
- •Лабораторная работа №13. Разработка компьютерного теста с использованием Visual Basic
- •Теоретическая часть
- •Лабораторная работа №14. Создание пользовательского меню и панели инструментов
- •Теоретическая часть
- •Call Имя процедуры ([Список Параметров Вызова]),
- •Практическая часть
- •Лабораторная работа №15. Создание текстового редактора
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №16. Разработка мультимедиа-приложений
- •Теоретическая часть
- •Практическая часть
- •Лабораторная работа №17. Макросы: запись, запуск, чтение
- •Теоретическая часть
- •Обычно макрос содержит следующие элементы.
- •Практическая часть
- •Лабораторная работа №18. Создание форм рабочего листа
- •Теоретическая часть
- •1. Когда необходимо использовать vba в Excel
- •2. Объект Application
- •3. Объект Workbook
- •4. Объект Worksheet
- •5. Объект Range
- •Инициализация и отображение диалогового окна
- •Практическая часть Создание пользовательской формы
- •Создание пользовательской формы
- •Практические задания по программированию на vba
- •Лабораторная работа №19. Создание книги лабораторных работ с автоматизированным выбором страниц книги
- •Практическая часть
- •Лабораторная работа №20. Моделирование процессов
- •Теоретическая часть
- •Лабораторная работа №21. Создание сводных таблиц в vba
- •Теоретическая часть Практическая часть
- •Лабораторная работа №22. Работа с компонентом Chart
- •Теоретическая часть Практическая часть
- •Лабораторная работа №23. Работа с базами данных в Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №24. Работа с базами данных в Excel с использованием Visual Basic
- •Теоретическая часть Практическая часть
- •Лабораторная работа №25. Обработка данных на рабочем листе Теоретическая часть Практическая часть
Практическая часть
Задание 1. Создание проигрывателя WAV файлов
Постановка задачи.
Разработать приложение, позволяющее проигрывать музыкальные файлы с расширением .wav.
Ход работы.
Создайте папку Лабораторная_работа_№16, а в ней папку 16.1.
Запустите программу Microsoft Visual Basic 6.0.
В открывшемся окне выберите тип приложения STANDARD.EXE и нажмите кнопку «Открыть».
Выберите команду Project - Components.
В появившемся окне найдите строку Microsoft Multimedia Control 6.0 и поставьте напротив нее галочку. В окне ToolBar появится новый компонент – - MMControl.
Аналогично выберите строку Microsoft Common Dialog Control 6.0 и поставьте напротив нее галочку. На панели инструментов ToolBar появится компонент Common Dialog - .
Свойству Caption формы Form1 задайте значение WAV Player.
Разместите на форме компоненты Common Dialog и MMControl.
Т акже разместите на форме компонент CommandButton. Свойству Caption задайте значение «Проиграть файл» (Рис.16.1).
Свойству Name компонента CommonDialog задайте значение CDlg1.
Щелкните два раза по кнопке CommandButton и наберите следующий программный код:
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 = "WaveAudio"
End Sub
Private Sub Form_Unload(Cancel As Integer)
MMControl1.Command = "Close"
End Sub
Сохраните форму под названием WAVPlayer.frm и проект под именем WAVPlayer.vbp в папке 16.1.
Запустите проект на выполнение и проверьте его функциональность.
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make WAVPlayer.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл WAVPlayer.exe и убедитесь в работоспособности exe-файла.
Задание 2. Создание проигрывателя AVI файлов
Постановка задачи.
Поставим задачу: разработать приложение, позволяющее проигрывать видеофайлы с расширением .avi.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.2.
Скопируйте файлы WAVPlayer.vbp, WAVPlayer.frm и WAVPlayer.vbw из папки 16.1 в папку 16.2.
Откройте файл WAVPlayer.vbp.
Свойству Name формы задайте значение AVIPlayer, а свойству Caption – AVI Player.
Сохраните файл под названием AVIPlayer.vbp, а также форму под аналогичным именем (например, AVIPlayer.frm).
Внесите изменения в программный код обработчиков событий:
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
Запустите проект на выполнение и проверьте его функциональность. Внешний вид приложения во время работы приведен на Рис.16.2
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make AVIPlayer.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл AVIPlayer.exe и убедитесь в работоспособности exe-файла.
Задание 3. Переработка проигрывателя AVI файлов
Постановка задачи.
В предыдущем задании изображение из файла выводится в отдельное окно. Но иногда требуется выводить изображение прямо на форме. Поставим задачу: переработать приложение, позволяющее проигрывать видеофайлы с расширением .avi, но с возможностью проигрывания изображений на форме.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.3.
Скопируйте файлы AVIPlayer.vbp, AVIPlayer.frm и AVIPlayer.vbw из папки 16.2 в папку 16.3.
Откройте файл AVIPlayer.vbp.
Свойству Name формы задайте значение AVIPlayer2.
Разместите на форме компонент PictureBox (Рис.16.3).
Сохраните файл под названием AVIPlayer2.vbp, а также форму под аналогичным именем (например, AVIPlayer2.frm).
Внесите изменения в программный код обработчиков событий:
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
Запустите проект на выполнение и проверьте его функциональность
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make AVIPlayer2.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл AVIPlayer2.exe и убедитесь в работоспособности exe-файла.
Внешний вид приложения во время работы приведен на Рис.16.4.
Задание 4. Создание проигрывателя видеофайлов с использованием компонента Animation
Постановка задачи.
Для просмотра не озвученных видеофайлов существует также еще один компонент – Animation. Поставим задачу: создать приложение, позволяющее проигрывать видеофайлы с использованием компонента Animation.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.4.
Запустите программу Microsoft Visual Basic 6.0.
В открывшемся окне выберите тип приложения STANDARD.EXE и нажмите кнопку «Открыть».
Выберите команду Project - Components.
В появившемся окне найдите строку Microsoft Windows Common Controls – 2.6.0 (SP6) и поставьте напротив нее галочку. В окне ToolBar появится новый компонент – - Animation.
А налогично выберите строку Microsoft Common Dialog Control 6.0 и поставьте напротив нее галочку. На панели инструментов ToolBar появится компонент Common Dialog - .
Разместите на форме компоненты Animation и CommonDilalog (Рис.16.5).
Разместите на форме также два компонента CommandButton (Рис.16.5).
Установите значения компонентов в соответствии с Таблицей 16.1.
Таблица 16.1
Объект |
Свойство Caption |
Свойство Name |
Form1 |
AVI Player |
frmAVIPlay |
CommonDialog1 |
- |
CDlg1 |
CommandButton1 |
Включить анимацию |
cmdВключить |
CommandButton2 |
Остановить анимацию |
cmdОстановить |
Animation1 |
- |
Animation1 |
Необязательно! У компонента CommonDialog1 можно установить свойство InitDir, в котором следует прописать путь к директории с файлами анимации, например: C:\Program Files\Microsoft Visual Studio\Common\Graphics\Videos. Тогда в диалоговом окне открытия файла будет сразу же отображаться заданная папка, содержащая видеофайлы.
Щелкните по кнопке «Включить анимацию» и в открывшемся окне напишите следующий программный код:
Private Sub cmdВключить_Click()
CDlg1.ShowOpen
FileName = CDlg1.FileName
Animation1.Open FileName
Animation1.Play
End Sub
Для кнопки «Остановить анимацию» щелкните по ней два раза и в открывшемся окне напишите следующий программный код:
Private Sub cmdОстановить_Click()
Animation1.Stop
End Sub
В окне программного кода выберите объект Form и событие Unload. Для данного события напишите следующий программный код:
Private Sub Form_Unload(Cancel As Integer)
Animation1.Close
End Sub
Сохраните проект под именем AVIPlayer3.vbp, а форму под именем frmAVIPlay.frm
Запустите проект на выполнение и проверьте его функциональность
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make AVIPlayer.exe.
В ыйдите из среды Visual Basic.
Запустите на выполнение файл AVIPlayer.exe и убедитесь в работоспособности exe-файла.
Внешний вид приложения во время работы приведен на Рис.16.6.
З адание 5. Создание приложения «Секундомер»
Постановка задачи.
Создать приложение, позволяющее по щелчку на кнопке запустить или остановить секундомер. Примерный вид приложения приведен на Рис.16.7.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.5.
Запустите программу Microsoft Visual Basic 6.0.
Расположите на форме 2 компонента Label, 2 компонента CommandButton, 1 компонент Timer.
Установите свойства компонентов в соответствии с Таблицей 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 |
Опишите переменные в разделе глобальных объявлений:
Dim msec As Integer, sec As Integer
Обнулите переменные при загрузке приложения:
Private Sub Form_Load()
msec = 0
sec = 0
End Sub
Напишите обработчики событий 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
Напишите обработчик события 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
Сохраните проект под именем Секундомер.vbp, а форму под именем frmСекундомер.frm
Запустите проект на выполнение и проверьте его функциональность
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make Секундомер.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Секундомер.exe и убедитесь в работоспособности exe-файла.
Задание 6. Создание приложения «Просмотр Web-страниц»
П остановка задачи.
Создать приложение, позволяющее по выбору пользователя отображать различные web-страницы, расположенные на компьютере пользователя. Примерный вид приложения приведен на Рис.16.8.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.6.
Скопируйте в папку любые 3 web-страницы или создайте свои.
Запустите программу Microsoft Visual Basic 6.0.
Расположите на форме 1 компонент WebBrowser, 3 компонента CommandButton.
Установите свойства компонентов в соответствии с Таблицей 16.3, или ориентируясь на Рис.16.8.
Таблица 16.3 – Свойства компонентов приложения «Просмотр web-страниц»
Компонент |
Свойство |
Значение |
Form1 |
Caption |
Просмотр web-страниц |
Name |
frmИнтернет |
|
CommandButton1 |
Caption |
Файл №1 |
CommandButton2 |
Caption |
Файл №2 |
CommandButton3 |
Caption |
Файл №3 |
WebBrowser1 |
Visible |
False |
Напишите обработчики событий Click при щелчке на кнопку «Файл №1»:
Private Sub Command1_Click()
WebBrowser1.Visible = True
WebBrowser1.Navigate "Путь к файлу\Имя файла.htm (или html)"
End Sub
Напишите обработчики события Click для оставшихся кнопок, загрузив в них соответствующие файлы.
Сохраните проект под именем Интернет.vbp, а форму под именем frmИнтернет.frm
Запустите проект на выполнение и проверьте его функциональность
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make Интернет.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Интернет.exe и убедитесь в работоспособности exe-файла.
З адание 7. Создание приложения «Рисованные часы»
Постановка задачи.
Создать приложение, рисующее на форме часы со стрелками. Примерный вид приложения приведен на Рис.16.9.
Ход работы.
В папке Лабораторная_работа_№16 создайте папку 16.7.
Расположите на форме компонент Timer.
Заголовку формы (Caption) задайте значение «Рисованные часы», а свойству Name – frmЧасы.
Объявите в разделе глобальных переменных константы и глобальные переменные:
Const r = 150
Const grad = 0.0174532
Dim x0 As Integer, y0 As Integer, hr As Integer
Dim mn As Integer, sc As Integer
Опишите процедуру инициализации формы:
'Задание формы
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
Нарисуем линю из центра циферблата. Процедура создается самостоятельно между ключевыми словами 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
Аналогично нарисуем стрелки и зададим их движение:
'Рисование стрелок и их движение
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
С помощью события рисования 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
Напишем обработчик события Timer по щелчку на компоненте Timer:
Private Sub Timer1_Timer()
Call Strelki
End Sub
Сохраните проект под именем Часы.vbp, а форму под именем frmЧасы.frm
Запустите проект на выполнение и проверьте его функциональность
Закройте запущенное приложение.
Создайте exe-файл приложения с помощью команды File → Make Часы.exe.
Выйдите из среды Visual Basic.
Запустите на выполнение файл Часы.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 (устанавливает интервал времени, через который работает таймер)
Задания для самостоятельного выполнения
Составьте конспект по теоретической части лабораторной работы. Выполненное задание покажите преподавателю.
Разработайте приложение, которое позволяет с помощью таймера и командных кнопок управлять движением какого-нибудь объекта (например, по щелчку на кнопке начинает двигаться рисунок).
Вопросы для контроля
Для чего предназначен объект Animation? WebBrowser? MMControl? Timer?
Для чего компоненту Timer служит свойство Interval?
Перечислите методы объекта Animation и MMControl.
Укажите формат метода Navigate
Какое свойство объекта MMControl устанавливает тип устройства для воспроизведения файлов?