
- •Для начинающих
- •Содержание
- •Глава 2. Работа в среде Visual Basic 32
- •Часть II. Программирование на Visual Basic – первый уровень 40
- •Глава 0. Переменные величины 41
- •Глава 1. Разветвляющиеся программы 58
- •Глава 2. Циклические программы 72
- •2.5. Оглядимся вокруг 81
- •Глава 3. Отладка программы 82
- •Глава 4. Типичные маленькие программы 86
- •Глава 5. Графика 92
- •Глава 6. Процедуры 106
- •Глава 7. Работа с таймером, временем, датами 115
- •Глава 7. Объекты пользователя 193
- •Глава 2. Устройство и работа компьютера 229
- •Глава 0.Предисловие
- •0.1.Кому предназначена эта книга?
- •0.2.Задачи, игры.
- •0.3.Почему Visual Basic?
- •0.4.Какой вам нужен компьютер и какая версия Visual Basic?
- •0.5.Краткое содержание с рекомендациями
- •Часть I. Программирование без программирования.
- •От автора
- •К читателю
- •Часть I. Программирование без программирования
- •Глава 0.Первые шаги
- •0.1.Что такое программа?
- •0.2.Не программа, а проект
- •0.3.Первые шаги - за ручку
- •Глава 1.Проект - "Калькулятор"
- •1.1.Задание на проект
- •1.2.Проектируем
- •1.3.Свойства форм и элементов управления
- •1.4.Имена и надписи
- •1.5.Программируем. Проект готов
- •1.7.Помещаем фото на калькулятор
- •1.8.Музыка в проекте
- •1.9.Система координат
- •1.10.Вывод сообщений - MsgBox
- •1.11.Меню пользователя
- •1.12.Кино в проекте
- •Val(Число1.Text) _
- •Глава 2.Работа в среде Visual Basic
- •Глава 3. - Отладка программы
- •2.1.Что нужно знать и уметь перед тем, как сесть за компьютер
- •2.2.Инсталляция Visual Basic
- •2.3.Порядок работы над проектом в Visual Basic
- •2.4.Загрузка Visual Basic и выход из него
- •2.5.Сохранение проекта на диске. Загрузка проекта с диска
- •2.6.Окна среды Visual Basic
- •2.7.Главное меню Visual Basic
- •2.8.Перенос вашего проекта на другие компьютеры
- •Часть II. Программирование на Visual Basic – первый уровень
- •Глава 0.Переменные величины
- •0.1.Переменные величины. Оператор присваивания
- •0.2.Объявление переменных величин
- •0.3.Еще об именах
- •0.4.Математика. Запись арифметических выражений
- •0.5.Типы данных и точность вычислений
- •Integer и Long - целые числа
- •Три совета
- •0.6.Порядок создания простого вычислительного проекта
- •Задача:
- •Порядок создания проекта:
- •5. Теперь нужно задать компьютеру действия, которые он должен проделать с исходными данными, чтобы получить результат.
- •0.7.Строковые переменные
- •0.8.Как выводить информацию оператором Print
- •0.9.Диалог с компьютером
- •0.10.Как выводить информацию в текстовое поле
- •0.11.Оглядимся вокруг
- •Глава 1.Разветвляющиеся программы
- •1.1.Что такое выбор (ветвление)
- •1.2.Условный оператор If или как компьютер делает выбор
- •1.3.Правила записи однострочного оператора If
- •1.4.Случайные величины
- •1.5.Многострочный If
- •If условие Then операторы ElseIf операторы
- •1.6.Ступенчатая запись программы
- •1.7.Вложенные операторы If. Логические операции и выражения
- •1.8.Оператор варианта Select Case
- •1.9.Улучшаем калькулятор.
- •If IsNumeric("-67,3") Then MsgBox ("Это число") Else MsgBox ("Это не число")
- •1.10.Функция MsgBox
- •Глава 2.Циклические программы
- •2.1.Оператор перехода GoTo. Цикл. Метки
- •2.2.Выход из цикла с помощью If
- •2.3.Операторы цикла Do
- •2.4.Оператор цикла For
- •2.5.Оглядимся вокруг
- •Глава 3.Отладка программы
- •3.1.Типы ошибок. Сообщения об ошибках.
- •3.2.Отладка программы. Окна отладки. Режимы отладки.
- •Глава 4.Типичные маленькие программы
- •4.1.Вычислительная циклическая программа
- •4.2.Роль ошибок
- •4.3.Счетчики
- •4.4.Сумматоры
- •4.5.Вложение циклов в разветвления и наоборот
- •4.6.Вложенные циклы
- •4.7.Поиск максимального из чисел
- •Глава 5.Графика
- •5.1.Объекты. Их свойства, их события, их методы
- •5.2.Три способа рисовать
- •5.3.Первый способ - Загрузка в Visual Basic готовых изображений
- •5.4.Второй способ - Объекты Line и Shape
- •5.5.Взаимное перекрытие объектов. Метод zOrder
- •5.6.Цвет в Visual Basic
- •5.7.3 Способ - Рисуем при помощи графических методов
- •Снеговик Ефрем
- •5.8.Используем в рисовании переменные величины
- •5.9.Использование случайных величин при рисовании
- •Глава 6.Процедуры
- •6.1.Зачем нужны процедуры пользователя
- •6.2.Операторы Stop, End и Exit Sub
- •6.3.Переменные вместо чисел
- •6.4.Константы
- •6.5.Процедуры с параметрами
- •Private Sub Рисуем_мой_значок (Otstup As Integer, Razmer As Integer, Tsvet As Long)
- •Глава 7.Работа с таймером, временем, датами
- •7.1.Тип данных Date
- •7.2.Таймер
- •7.3.Проект "Будильник-секундомер"
- •7.4.Анимация
- •Глава 8.Работа с мышью и клавиатурой
- •8.1.Работа с мышью
- •8.2.Работа с клавиатурой
- •8.3.Проект - Гонки (игра)
- •8.4.Задание на игру “Торпедная атака
- •Часть III. Программирование на Visual Basic - второй уровень
- •Глава 0.Массивы
- •0.1.Переменные с индексами
- •0.2.Одномерные массивы переменных величин
- •0.3.Двумерные массивы
- •0.4.Какие бывают массивы
- •0.5.Использование массивов при программировании игр
- •0.6.Массивы элементов управления
- •Глава 1.Разные звери в одном ковчеге
- •1.2.Пользовательский тип данных
- •1.3.Коллекции
- •1.4.Рамка (Frame)
- •Глава 2.Элементы управления
- •2.1.Флажок (CheckBox)
- •2.2.Переключатель (OptionButton)
- •2.3.Полосы прокрутки (hScrollBar и vScrollBar)
- •2.5.Список (ListBox) и поле со списком (ComboBox)
- •2.6.Знакомство с другими элементами управления
- •Глава 3.Строки, файлы, обработка ошибок
- •3.1.Строки
- •3.2.Файлы
- •3.3.Функция Shell
- •3.4.Обработка ошибок. Оператор On Error
- •Глава 4.Функции. Параметры процедур и функций
- •4.1.Функции. Параметры функций
- •4.2.Локальные переменные
- •4.3.Массивы как параметры
- •4.4.Передача параметров по ссылке и по значению
- •4.5.Индукция. Рекурсия
- •4.6.Сортировка
- •4.7.Объекты, как параметры процедур
- •Глава 5.Проект, который выглядит солидно
- •5.1.Из чего бывает "сделано" приложение Windows
- •5.2.Элемент управления CommonDialog
- •5.3.Панель инструментов Toolbar
- •5.4.Проект - "Графический редактор"
- •Глава 6.Проекты из нескольких форм и модулей
- •6.1.Работа с несколькими формами
- •6.2.Модули кода
- •6.3.Структура проекта. Окно Project Explorer.
- •6.4.Зоны видимости
- •6.5.Затенение
- •6.6.Префиксы имен
- •6.7.К чему все эти сложности?
- •Глава 7.Объекты пользователя
- •7.1.Инкапсуляция - "Объект в футляре"
- •7.2.Игра "Сачок". Постановка задачи
- •7.3.Таймер и общая механика работы проекта
- •7.4.Этап проектирования
- •7.5.Порядок создания объектов
- •7.6.Создаем ловца
- •7.7.Создаем шар. Завершаем проект
- •7.8.Еще об объектах
- •Глава 8.Visual Basic и Интернет
- •8.1.Понятие об Интернет, Web-станицах и языке html
- •8.2.Создание Web-страницы
- •8.3.Сценарий на Web-странице
- •8.4.Доступ к локальному диску
- •8.5.Собственный броузер
- •Глава 9.Visual Basic и базы данных
- •9.1.Понятие о базах данных
- •9.2.Создаем заготовку базы данных при помощи Visual Data Manager
- •9.3.Работа с базами данных. Элементы управления Data и dbGrid. Язык sql.
- •Глава 10.До свидания
- •10.1.Нерассмотренные возможности Visual Basic
- •10.2.Миг между прошлым и будущим
- •Приложение 1. Необходимые сведения о компьютере и программе
- •Глава 0.Первое представление о компьютере и программе
- •0.1.Что такое компьютер. Первое представление о программе.
- •0.2.Как человек общается с компьютером
- •Глава 1.Программа и программирование
- •1.1.Список команд. Командный и программный режимы
- •Последовательность работы человека с роботом
- •1.2.Что важно знать о программе
- •1.3.Понятие о процедуре. Может ли робот поумнеть?
- •1.4.Программа для компьютера на машинном языке
- •1.5.Языки программирования
- •1.6.Пример настоящей программы для компьютера на языке Лого
- •1.7.Последовательность работы программиста на компьютере
- •1.8.Основные приемы программирования
- •Глава 2.Устройство и работа компьютера
- •2.1.Как устроен и работает компьютер
- •Процессор
- •Порядок обмена информацией между устройствами компьютера
- •2.2.Устройство и размеры оперативной памяти
- •2.3.Взаимодействие программ в памяти
- •2.4.Внешние устройства компьютера
- •Устройства ввода
- •1. Клавиатура.
- •2. Мышь.
- •Устройства вывода
- •Внешняя память
- •Связь компьютеров между собой. Модем. Сети
- •2.5.Кодирование информации в компьютере
- •Приложение 2. Работа в Windows. Ввод текста
- •Работа в Windows
- •Файлы и папки
- •Как вводить программу в компьютер или работа с текстом в текстовом редакторе
- •Решение заданий
- •Список литературы
- •Предметный указатель
1.7.Помещаем фото на калькулятор
Мы хотим, чтобы поверхность формы была покрыта какой-нибудь фотографией. Для этого необходимо, чтобы файл с этой фотографией уже хранился на жестком диске вашего компьютера. Если фото нет, то сойдет и рисунок, созданный вами в каком-нибудь графическом редакторе, например, в Paint.
Выделите форму. Найдите свойство Picture. Затем щелкните по троеточию. В открывшемся окне проводника доберитесь до нужного вам графического файла. Щелкните по Open - в результате фото окажется на форме. Можно использовать и другие типы графических изображений (см.5.3). Если у вас установлен Microsoft Office, то вы можете в его папке найти папку Clipart и там поискать файлы векторной графики.
Если вам не хочется занимать под фото все пространство формы, вы можете поместить на форму один из двух новых для вас элементов управления - PictureBox или Image - и аналогичным образом поместить изображение в них.
Графику можно поместить и на кнопку (предварительно установив свойство Style кнопки в Graphical).
1.8.Музыка в проекте
Если у вашего компьютера есть звуковая карта, то вы можете добавлять в ваш проект самые разнообразные музыкальные и звуковые эффекты.
Сделаем так, чтобы при запуске проекта раздавалась музыка (а если вы умеете с микрофона записывать свой голос в файл - то и ваш голос). Звуковой файл с музыкой или вашим голосом уже должен находиться на жестком диске или на компакт-диске. Вы можете прекрасно прослушивать файлы в форматах MID, WAV, а в большинстве случаев и MP3 и некоторых других. Кстати, в Интернете и на компьютерных компакт-дисках подавляющая часть музыки имеет формат MP3. Этот формат становится все более популярным, так как позволяет уместить на диск в десять раз больше музыки, чем, скажем, WAV. Если вы не знаете ни одного звукового файла, то могу подсказать, что несколько десятков их хранятся в вашем компьютере по адресу C:\Windows\Media. Пусть мы хотим воспроизвести один из них - файл Canyon.mid.
Проверьте настройки вашей звуковой карты в программе «Микшер». Для этого в среде Windows нажмите Пуск Программы Стандартные Развлечения Регулятор громкости. В возникшем окне снимите флажки (галочки) выключения канала и установите максимальный уровень у каналов Wave (для WAV-файлов и MP3-файлов) и MIDI (для MID-файлов и RMI-файлов). Для работы с микрофоном зайдите в «Свойства», затем в закладку «Запись», установите флажок включения канала и установите максимальный уровень у канала «Микрофон».
Чтобы воспользоваться звуковым файлом, вам нужно расположить на форме элемент управления Microsoft Multimedia Control 6.0. Но его нет в стандартном наборе на панели Toolbox. Сначала его нужно туда поместить. Для этого: Projects Components вы находите его в длинном списке и ставите против него галочкуOK. Он появился в Toolbox. Теперь им можно пользоваться обычным образом.
Поместим его на форму. Дадим ему имя (например, Плеер). Вы видите, что у него есть клавиши. Чтобы все нужные вам клавиши были работоспособны в режиме [run], установите соответствующие свойства в окне свойств, но проще так: щелкните по Плееру правой клавишей мыши Properties Controls поставьте по две галочки против каждой нужной вам клавиши.
Для того, чтобы музыка зазвучала, Visual Basic должен выполнить следующие операторы:
Плеер.DeviceType = "Sequencer"
Плеер.FileName = "c:\Windows\Media\Canyon.mid"
Плеер.Command = "Open"
Плеер.Command = "Play"
Пояснения: Первая строка выбирает тип устройства (DeviceType) внутри вашей звуковой карты, которое будет проигрывать ваш звуковой файл. Для файлов с расширением mid, rmi используется устройство Sequencer. Для файлов с расширением wav, mp3 используется устройство WaveAudio.
Вторая строка объясняет компьютеру, откуда брать звуковой файл.
Третья строка дает команду (Command) на открытие (Open) файла. Это необходимо для дальнейшей работы с ним.
Четвертая строка дает команду на начало воспроизведения (Play) файла и вы слышите музыку.
Мы привыкли, что все, что ни происходит в проекте, происходит при нажатии кнопок. Потому что все процедуры, которые мы писали до этого, объясняли компьютеру, как реагировать на одно-единственное событие - щелчок мышкой по кнопке. Как сделать, чтобы вышеприведенные 4 оператора выполнялись сразу же при запуске проекта без нажатия каких бы то ни было кнопок? Существуют ли какие-либо другие события, не сводящиеся к щелчкам мыши? Да, и их много (например, нажатие клавиши на клавиатуре или факт изменения текста в текстовом поле). Но мы их раньше не замечали, так как Visual Basic на них никак не реагировал. Одно из них - загрузка формы (Form_Load) - наступает автоматически при запуске проекта (конечно, если вы этому специально не воспрепятствуете) и кроме всего прочего имеет следствием появление формы на экране. Оно-то нам и нужно.
Сделаем двойной щелчок по форме. Возникнет заготовка новой процедуры:
Private Sub Form_Load()
End Sub
Ее заголовок можно вольно перевести так: "Что делать, когда загружена форма", а для нас это фактически означает "Что делать, когда запущен проект". Естественно, в эту процедуру мы записываем наши 4 оператора. Музыка готова. Пока не запускайте проект.
Если вы хотите, чтобы ваше музыкальное сопровождение правильно работало, нужно позаботиться, чтобы звуковой файл после окончания воспроизведения своевременно закрывался командой "Close". В нашем случае других звуковых файлов не используется, поэтому закрытие файла можно отложить на самый последний момент - момент завершения работы проекта. С ним связано событие Form_Terminate. Вот ваши следующие три строки:
Private Sub Form_Terminate()
Плеер.Command = "Close"
End Sub
Помните, что событие Form_Terminate наступает только тогда, когда мы завершаем работу проекта, щелкнув по крестику в правом верхнем углу формы, а не кнопкой End на панели инструментов.
Проверьте, как работает наша музыка, запустив проект.
Музыка в кнопках
Поставим задачу - сделать так, чтобы при нажатии на калькуляторе каждой из четырех клавиш арифметических действий раздавался какой-нибудь короткий мелодичный звук, причем для каждой клавиши свой. Таких звуков много по адресу C:\Windows\Media. Там они записаны в файлах, имеющих расширение wav. Выберем из них Chime.wav, Notify.wav, Tada.wav и Logoff.wav.
Разместим в проекте еще один элемент Microsoft Multimedia Control 6.0. Дадим ему имя Звук. Его клавиши нам не нужны, нам ни к чему управлять короткими звуками. А раз так, то сделаем объект Звук невидимым. Для этого его свойству Visible придадим значение False.
Устройством для воспроизведения Wav-файлов является WaveAudio. Чем раньше мы объясним это компьютеру, тем лучше. Поэтому поместим соответствующий оператор .
Звук.DeviceType = "WaveAudio"
в процедуру, которая выполняется раньше всех - в Form_Load.
В каждую из четырех процедур кнопок поместим четыре новых оператора следующего вида:
Звук.FileName = "c:\Windows\Media\……….wav"
Звук.Command = "Open"
Звук.Command = "Sound"
Звук.Command = "Close"
Пояснения: В нашем случае команда "Sound" имеет то же действие, что и команда "Play", но отличается от нее тем, что задерживает выполнение остальных операторов проекта до тех пор, пока не закончится воспроизведение звукового файла. Вы можете убедиться в этом, когда запустите готовый проект. Пока при помощи команды "Play" воспроизводится длинная мелодия Canyon.mid, вы можете спокойно пользоваться калькулятором, нажимая на кнопки. Когда же при помощи команды "Sound" воспроизводится звук Chimes.wav, весь проект ненадолго "замерзает".
Замечание: Если ваша звуковая карта достаточно хорошего качества, то вы сможете одновременно услышать и Canyon.mid и Wav-файлы.
Вот так будут выглядеть в окне кода ваши процедуры, связанные со звуком:
Private Sub Кл_сложения_Click()
Звук.FileName = "c:\Windows\Media\Chimes.wav"
Звук.Command = "Open"
Звук.Command = "Sound"
Звук.Command = "Close"
Результат.Text = Val(Число1.Text) + Val(Число2.Text)
End Sub
Private Sub Кл_вычитания_Click()
Звук.FileName = "c:\Windows\Media\Notify.wav"
Звук.Command = "Open"
Звук.Command = "Sound"
Звук.Command = "Close"
Результат.Text = Val(Число1.Text) - Val(Число2.Text)
End Sub
………………………………………………
………………………………………………
Private Sub Form_Load()
Звук.DeviceType = "WaveAudio"
Плеер.DeviceType = "Sequencer"
Плеер.FileName = "c:\Windows\Media\Canyon.mid"
Плеер.Command = "Open"
Плеер.Command = "Play"
End Sub
Private Sub Form_Terminate()
Плеер.Command = "Close"
End Sub
Проигрывание аудиодисков
Элемент управления Microsoft Multimedia Control 6.0 можно использовать и для проигрывания из вашего проекта самых обычных некомпьютерных аудио-компакт-дисков. Разместите этот элемент управления на форме, придайте ему имя "CDPlayer". Вставьте диск в дисковод CD-ROM вашего компьютера. Теперь вам достаточно выполнить такую цепочку операторов:
CDPlayer.DeviceType = "CDAudio"
CDPlayer.Command = "Open"
CDPlayer.Command = "Play"
Вы скажете - Я могу это делать и безо всякого Visual Basic. Это верно. Но из Visual Basic это делать интереснее. В элементе Microsoft Multimedia Control 6.0 имеются возможности тонкого управления проигрыванием, которые вы не найдете в стандартных проигрывателях.
Плеер ваших любимых хитов
Если у вас набралось на диске 5-6 любимых звуковых файлов, то вы уже можете создать проект - плеер, в котором будет соответственно 5-6 кнопок с названиями исполняемых произведений. При нажатии кнопки звучит соответствующее произведение.
Вы можете сделать так, чтобы на форме тут же появлялась и подходящая картинка. Например, если исполняется песня группы "Столбняк", то пусть на форме появляется фотография задумчивых исполнителей этой группы. Для появления картинки подойдет оператор вида
Form1.Picture = LoadPicture("C:\Program Files\Microsoft Office\Clipart\Popular\Agree.wmf")
Здесь LoadPicture означает Загрузить картинку. В скобках с кавычками указывается адрес картинки на вашем компьютере. Кстати, в указанной папке вы найдете несколько десятков картинок.
Вы также можете сделать, чтобы при проигрывании мелодии вы видели и текстовое описание мелодии или, скажем, биографию композитора. Для этого поместите на форму большую метку (Label) и в подходящие места программы вставляйте операторы вида
Label1.Caption = "Композитор - Гладков. Впервые исполнена в 1970 году."
При работе со звуковыми файлами возникает вопрос - когда закрывать файлы? Если перед открытием следующего файла не закрыть предыдущий, то нормальной работы не получится. Связка
Плеер.Command = "Play"
Плеер.Command = "Close"
не подойдет, так как музыка закончится, не успев начаться. Здесь подойдет такая связка:
Плеер.Command = "Close"
Плеер.FileName = "c:\Windows\Media\Canyon.mid"
Плеер.Command = "Open"
Плеер.Command = "Play"
Здесь команда "Close" выполняется самой первой и закрывает любой файл, который исполнялся или мог исполняться раньше. После этого команда "Open" спокойно открывает нужный файл.
Задание 3: Создайте только-что описанный мною "Плеер ваших любимых хитов".
Задание 4 "Ваш собственный музыкальный компакт-диск": Сейчас широко распространены в продаже компьютерные компакт-диски такого рода: вы вставляете его в компьютер, он инсталлирует свою программу, затем вы запускаете ее. На экране появляются красочная заставка типа "Ваши любимые песни" и список песен. Вы выбираете одну из них. Песня звучит, возникают подходящие фото и текст. В любой момент вы можете прервать песню и выбрать другую.
Если у вас или у вашего друга есть устройство записи на компакт-диски CD-RW, то вы вполне можете создать свой собственный компакт-диск, который будет делать то же самое. На диске будут находиться как сами файлы песен, так и инсталляционный пакет программы для их воспроизведения. Вам нужно где-то достать файлы песен, а также, перелистав эту книгу вперед, прочесть в 2.8, как переносить свою программу на другие компьютеры. В остальном вам достаточно знания предыдущего материала и советов из предыдущей задачи.