Учебный курс
Перевел с английского Е. Матвеев
Главный редактор Заведующий редакцией Ведущий редактор Литературный редактор Художественный редактор Художник Корректоры Верстка
Е. Строганова
И. Корнеев
И. Корнеев
С. Реентенко
И. Половодов
Н. Биржаков
Н. Рощина, С. Шевякова
Р. Гришанов
Книга написана известным специалистом в области программирования на языке Visual Basic 6. Систематическое изложение в виде 19 последовательных уроков позволяет быстро изучить материал как начинающим программистам, так и тем, кто имеет определенный опыт программирования, но не знаком с данным продуктом. Желающие узнать о новинках шестой версии найдут в книге ответы на свои вопросы.
Вы научитесь создавать программы для широкого круга задач, начиная от разработки интерфейса и простейших систем управления базами данных и заканчивая интеграцией с последними достижениями в области Интернет-технологий — Active X и Windows API. Каждый урок дополнен примерами исходного кода, которые можно использовать как готовые работающие программы.
|
|
Original English language Edition Copyright© 1998, Sybex Inc. © Перевод на русский язык, Е. Матвеев, 2001 © Издательский дом «Питер», 2001
Published by arrangement with the original publisher, Sybex Inc., U.S.A.
Известные проблемы этого издания:
Книга отсканирована, поэтому возможны всякие опечатки.
Например:
Вместо l – i, вместо () – 0, I- l, и так далее.
Также потеряно некоторое форматирование оригинала, например: моноширный шрифт.
Краткое содержание
Введение
Урок 1. Освоение интегрированной среды разработки (IDE)
Урок 2. Работа с формами
Урок 3. Выбор и использование управляющих элементов
Урок 4. Работа с модулями и классами
Урок 5. Создание и использование меню
и панелей инструментов
Урок 6. Логика и последовательность выполнения программы
Урок 7. Типы данных
Урок 8. Запись и чтение данных
Урок 9. Печать
Урок 10. Диалоговые окна
Урок 11. Работа с мышью
Урок 12. Отладка приложений
Урок 13. Создание и использование справочных файлов
Урок 14. Компиляция и распространение приложений
Урок 15. Объектно-ориентированное программирование (ООП)
Урок 16. Расширение IDE с помощью надстроек
Урок 17. Использование ActiveX
Урок 18. Программирование для Интернета на Visual Basic
Урок 19. Использование DLL и Windows API
Алфавитный указатель
Полное Содержание
Введение
Что вы узнаете из этой книги?
Требования
Условные обозначения
Исходные тексты программ
Урок 1. Освоение интегрированной среды разработки (IDE)
Первое знакомство с Visual Basic
Изучаем IDE
Главное меню
Панель инструментов
Окно проекта
Окно свойств
|
|
Окно макета формы
Панель элементов
Конструктор форм
Окно просмотра объектов
Изучайте редактор Visual Basic!
Работа с несколькими проектами
Настройка IDE
Вкладка Editor
Вкладка Editor Format
Вкладка General
Вкладка Docking
Вкладка Environment
Вкладка Advanced
Наше первое приложение
Приложение Hello World
Что нового мы узнали?
Урок 2. Работа с формами
Анатомия формы
Граница
Заголовок
Название
Оконное меню
Содержание
Кнопка свертывания
Кнопка развертывания/восстановления
Кнопка закрытия
Работа со свойствами форм
Свойство BackColor
Свойство BorderStyle
Свойство Caption
Свойство ControlBox
Свойство ForeColor
Свойство Height
Свойство Icon
Свойство Left
Свойство MaxButton
Свойство MinButton
Свойство Name
Свойство ScaleMode
Свойство ShowlnTaskbar
Свойство Width
Свойство WindowState
Настройка свойств формы
Новый вариант программы
Исправление ошибки
События форм
Событие Activate
Событие Deactivate
Событие DragDrop
Событие Load
Событие Resize
Событие Unload
Методы форм
Работа с многодокументными (MDI) формами
Создание MDI-приложения
Новая версия MDI-приложения
Расшифровка программы
Использование Form Wizard
Что нового мы узнали?
Урок 3. Выбор и использование управляющих элементов, Первое знакомство с управляющими элементами
Кнопки
Свойства кнопок. События кнопок
Методы кнопок
Работа с кнопками
Текстовые поля
Свойства текстовых полей
События текстовых полей
Методы текстовых полей
Работа с текстовыми полями
Надписи
Свойства надписей
События надписей
Методы надписей
Работа с надписями
Переключатели
Свойства переключателей
События переключателей
Методы переключателей
Флажки
Свойства рамок События рамок
Свойства флажков
События флажков
Методы флажков
Работа с флажками
Рамки
Методы рамок
Список
Свойства списков
События списков
Методы списков
Работа со списками
Комбинированные поля
Свойства комбинированных полей
События комбинированных полей
Методы комбинированных полей
Работа со списками и комбинированными полями
Рисунки
Свойства рисунков
События рисунков
Методы рисунков
Работа с рисунками
Графические поля
Свойства графических полей
События графических полей
Методы графических полей
Таймеры
Свойства таймеров
События таймеров
Методы таймеров
Работа с таймером
Полосы прокрутки
Свойства полос прокрутки
События полос прокрутки
Методы полос прокрутки
Работа с полосами прокрутки
Списки дисков
Свойства списков дисков
События списков дисков
Методы списков дисков
Списки каталогов
Свойства списков, каталогов
События списков каталогов
Методы списков каталогов
Списки файлов
Свойства списков файлов
События списков файлов
Методы списков файлов
Работа со списками файлов
Добавление других элементов на панель
Интерфейс в стиле Windows 95
Дерево
Свойства деревьев
События деревьев
Методы деревьев
Табличные списки
Свойства табличных списков
События табличных списков
Методы табличного списка
Списки изображений
Свойства списков изображений
События списков изображений
Методы списков изображений
Все вместе
Строка состояния
Свойства строк состояния
События строк состояния
Методы строк состояния
Работа со строкой состояния
Что нового мы узнали
Урок 4.
Урок 5.
Урок 6.
Работа с модулями и классами
Модули и классы
Создание программной библиотеки
Создание модулей
Процедуры
Функции
Передача параметров
Ключевые слова Public и Private
Закрытые процедуры (Private)
Открытые процедуры (Public). Работа с модулями классов
Методы
Свойства
События
Создание класса SmartForm
Использование Class Builder
Что нового мы узнали?
Создание и использование меню
и панелей инструментов
Для чего нужны меню и панели инструментов
Объект меню
Свойства меню
Событие Click
|
|
Методы меню
Создание меню в редакторе меню
Проектирование меню
Создание панелей инструментов
Создание кнопок на панели инструментов
Создание рисунков на кнопках
Использование усовершенствованной
Что нового мы узнали?
панели
Логика и последовательность выполнения программы
Как «думает» компьютер
Логические операторы
Логический оператор AND
Логический оператор EQV
Логический оператор OR
Логический оператор XOR
Логический оператор NOT
Сравнения
Проверка условия «равно»
Проверка условия «больше»
Проверка условия «меньше»
Проверка условия «не равно»
Проверка условия «больше или равно»
Проверка условия «меньше или равно»
Принятие решений в программе
Оператор If..Then...Else
Функция IIf
Оператор Select Case...End Select
Выполнение повторяющихся действий
Цикл For...Next
Цикл Do...Loop
Цикл While...Wend
Перебор коллекций
Пример использования циклов
Что нового мы узнали?
Урок 7.
Типы данных
Первое знакомство с переменными
Что такое память?
Типы переменных
Байтовые переменные
Строковые переменные
Целые переменные
Логические переменные
Универсальные переменные
Область видимости переменных
Ключевое слово Static
Массивы
Динамические массивы
Константы
Что нового мы узнали?
Урок 8.
Запись и чтение данных
Работа с ASCII-файлами
Последовательный доступ
Произвольный доступ
Двоичный доступ
Простейшая программа шифрования
Урок 9.
Элементы данных
Использование элемента данных
Свойства элемента данных
Анатомия базы данных
Таблицы
Запросы
Создание баз данных в Visual Data Manager
Создание таблицы
Конструирование таблицы
Создание полей
Ввод данных
Создание запроса
Первичные ключи
Счетчики
Числовые поля
Денежные поля
Логические поля
Поля Memo
Поля даты/времени
Изменение таблицы
Технология ADO (ActiveX Data Objects)
Использование элемента данных ADO
Использование объектов подключения
и набора записей ADO
Добавление записей
Обновление записей
Удаление записей
Что нового мы узнали?
Печать
Вывод данных на печать
Метод Print
Просмотр значений в окне непосредственных вычислений
|
|
Просмотр ошибок в окне непосредственных вычислений
Исправление ошибки
Метод PrintForm
Коллекция Printers
Использование Crystal Reports в Visual Basic
Установка Crystal Reports Pro
Создание отчета
Использование отчета в приложении
Печать исходного текста программы
Диалоговое окно Print
Урок 10.
Урок 11.
Просмотр результатов
Расшифровка листинга
Что нового мы узнали?.
Диалоговые окна
Стандартные диалоговые окна
Окно сообщения
Окно ввода
Нестандартные диалоговые окна
Создание класса диалогового окна
Использование класса диалоговых окон
Что нового мы узнали?.
Работа с мышью
События мыши
Событие Click
Событие DblClick
Событие DragDrop
Событие MouseDown
Событие MouseMove
Событие MouseUp
Перетаскивание
Перетаскивание OLE
Метод OLEDrag
Свойство OLEDragMode
Свойство OLEDropMode
Свойство OLEDropAllowed
Событие OLEDragDrop()
Событие OLECompleteDrag()
Событие OLEStartDrag()
Событие OLEDragOver()
Событие OLESetData()
Событие OLEGiveFeedback()
Приложение с поддержкой перетаскивания OLE
Создание «пасхального яйца»
Что нового мы узнали?
Урок 12.
Отладка приложений
Документирование программ
Комментарии в программе
Соглашения об именах
Повышение надежности программ в Visual Basic
Отладка приложений
Отладочные средства Visual Basic
Создание тестовых утилит
Что нового мы узнали?
Урок 13.
Создание и использование справочных файлов
Использование справочных файлов в приложениях
Создание первого справочного файла
Проектирование и создание файла содержания
Создание файла разделов
Создание файла проекта
Подключение справочного файла к приложению
Создание справочных файлов в формате HTML
Что нового мы узнали?
Урок 14.
Компиляция и распространение
Компиляция проекта
Вкладка Make
Номер версии
Приложение
Сведения о версии
Аргументы командной строки
Условная компиляция
Вкладка Compile
Переключатель Compile to P-code
Переключатель Compile to Native Code
Нетривиальная оптимизация
Использование Package and Deployment Wizard
Поиск вирусов
Распространение программы
Что нового мы узнали?
Урок 15.
Объектно-ориентированное программирование (ООП)
Общие сведения об ООП
Для чего нужно ООП?
Атрибуты объекта
Свойства объекта
Методы объекта
Наследование
Инкапсуляция
Полиморфизм
Многократное использование кода
Создание класса
Использование класса
Работа с окном просмотра объектов
Что нового мы узнали?
Урок 16.
Расширение IDE с помощью надстроек
Загрузка надстроек в IDE
Использование диспетчера надстроек
Использование панели надстроек VB6
Использование надстроек
Использование VB6 Application Wizard
Использование VB6 Data Form Wizard
Создание собственных надстроек
Создание утилиты комментирования на уровне приложения
Создание утилиты комментирования на уровне модуля
Создание утилиты комментирования на уровне процедуры
Что нового мы узнали?
Урок 17.
Использование ActiveX
О платформе Active
Назначение ActiveX
Требования безопасности в ActiveX
Как работают Web-страницы
Роль ActiveX в разработке программ
Создание и использование документов ActiveX
Создание и использование элементов ActiveX
Добавление кода
Создание и использование ActiveX DLL
Применение ActiveX для автоматизации работы с Microsoft Word
Что нового мы узнали?
Урок 18.
Программирование для Интернета на Visual Basic
Использование элемента WebBrowser
Разработка приложений Winsock
Проектирование документов ActiveX
Использование сервера WebComm
Использование клиента WebComm
Использование DHTML
DHTML и Visual Basic
Создание проекта DHTML
Шаблон приложения IIS
Что нового мы узнали?
Урок 19.
Использование DLL и Windows API
Общие сведения о библиотеках динамической компоновки (DLL)
Правила вызова DLL
Смысл правил вызова DLL
API Viewer
Использование функций API в приложениях
Изменение функции API
Создание класса WavePlayer
Работа с системной панелью
Создание элемента SysTray
Использование элемента SysTray
Взгляд в будущее
Что нового мы узнали?
Алфавитный указатель
Моей дочери МакКенне...
Эта книга для тебя!
Благодарность
Эта книга обязана своим существованием труду многих людей. Благодарю Питера Кунса (Peter Kuhns) за то, что он предложил мне работать над этим проектом. Ким Уимпсетт (Kim Wimpsett) и Давина Баум (Davina Baum) - самые потрясающие редакторы, когда-либо работавшие в этих местах. Спасибо им за то, что они выловили мои ошибки. Скотт Томпсон (Scott Thompson) - самый лучший программист из всех известных мне, к тому же он внес немало замечательных предложений в процессе технической правки. Также благодарю Джефферсона МакКлу-ра (Jefferson McClure), координатора проекта, и Синди Джонсен (Cyndy Johnsen), специалиста по электронной верстке.
Кайл, Раффи, Алан, Касс и Бобби, спасибо за дружбу и поддержку. Пусть все наши начинания всегда будут успешными!
Я особенно благодарен свой жене Сьюзен и дочери МакКенне за то, что они мирились с долгими часами моей работы. Я снова с вами! Наконец, хочу поблагодарить Господа своего, Иисуса Христа, за то, что он помогал мне и моей семье в трудные времена и благословил меня знаниями и способностями для постижения компьютерной науки.
Введение
Microsoft Visual Basic 6 — самая последняя версия популярного языка программирования. Новые возможности Visual Basic усиливают его позиции на рынке средств разработчика.
Среда Visual Basic прекрасно подходит для разработки приложений практически любого типа. Вы можете создавать мощные автономные приложения, игры и служебные утилиты, затратив на это меньше времени, чем для любого другого языка программирования. Технология ActiveX позволяет писать приложения с поддержкой Internet, возможности которых ограничиваются только вашей фантазией. В сочетании с Windows API Visual Basic превращается в серьезный инструмент, подходящий почти для любых проектов.
Книга «Visual Basic 6: учебный курс» построена так, чтобы помочь вам быстро освоить Visual Basic. Она не только научит пользоваться Visual Basic и инструментами, прилагаемыми к нему, — вы освоите многие полезные и практические приемы программирования, о которых часто забывают в бурно развивающемся мире быстрой разработки приложений. Начинающие программисты могут не сомневаться: описанные приемы пригодятся и для других языков и платформ. Вы освоите все необходимое для проектирования, программирования и распространения полноценных приложений — и при этом от читателя не требуется детального изучения всех аспектов. Предыдущий опыт программирования необязателен; единственное, что требуется, — общее представление о среде Windows и желание учиться. Книга научит вас программировать, используя Visual Basic как основной язык.
Что вы узнаете из этой книги?
Книга научит вас всему необходимому для эффективной работы с Visual Basic, при этом от вас даже не потребуется предыдущего опыта программирования на Visual Basic или другом языке.
Книга разделена на уроки, и каждый урок посвящен определенному аспекту процесса разработки приложений. В каждом уроке демонстрируются некоторая возможность или прием программирования, а также содержатся примеры программ. Чтобы узнать что-то новое, незачем читать книгу от корки до корки. Просто перейдите к интересующему вас уроку — и вы окажетесь на нужном месте! В уроке 1, «Освоение интегрированной среды разработки (IDE)», мы рассмотрим основные инструменты для работы с Visual Basic и напишем самую первую программу. Урок 2, «Работа с формами», посвящен экранным формам — важнейшему элементу программирования на Visual Basic. В уроке 3, «Выбор и использование управляющих элементов», мы познакомимся с компонентами, которые используются почти во всех приложениях. Урок 4, «Работа с модулями и классами», поможет понять, когда и как следует размещать процедуры в программных модулях и классах. Вы узнаете, как создаются и подключаются к программе меню и панели инструментов, в том числе новая панель СооlBar, а также изучите основные принципы проектирования интерфейса в уроке 5, «Создание и использование меню и панелей инструментов». Урок 6, «Логика и последовательность выполнения программы», окажется особенно полезным для читателей, делающих первые шаги в программировании. В нем излагаются основы булевской и двоичной логики, но так, чтобы вы не чувствовали себя студентом-математиком. Вы узнаете, как научить программу принимать решение.
В уроке 7, «Типы данных», вы сделаете важный шаг в изучении программирования и научитесь работать с переменными (объектами, расположенными в памяти), благодаря чему ваши приложения смогут выполнять полезные функции. Научившись работать с переменными, можно переходить к уроку 8, «Запись и чтение данных». В нем рассказано, как сохранить данные на диске и позднее прочитать их. Также вы познакомитесь с новой универсальной моделью доступа к данным фирмы Microsoft — ActiveX Data Objects (ADO). Урок 9, «Печать», научит вас выполнять простейший вывод на печать в своем приложении с помощью объекта Visual Basic Printer. В ней вы узнаете, как Visual Basic интегрируется с Crystal Reports Pro, используемой для разработки сложных отчетов в приложениях. В уроке 10, «Диалоговые окна», мы научимся пользоваться диалоговыми окнами, встроенными в Visual Basic. Когда вы усвоите эту тему, речь пойдет о создании собственных диалоговых окон, предназначенных для многократного использования. Урок 11, «Работа с мышью», показывает, как организовать поддержку мыши в приложении. Вы научитесь обрабатывать щелчки и перемещения мыши, а также создадите приложение с поддержкой механизма перетаскивания (drag-and-drop). Кроме того, вы научитесь перемещать данные между приложениями с применением механизма перетаскивания OLE.
Урок 12, «Отладка приложений», пригодится как начинающим, так и опытным программистам. В нем вы научитесь правильно комментировать исходные тексты программ для упрощения отладки. Программисты обычно недолюбливают эти аспекты разработки. После этого урока отладка станет для вас полезным и хорошо знакомым процессом.
В уроке 13, «Создание и использование справочных файлов», вы узнаете, как с помощью служебной программы Help Workshop создать собственный справочный файл и связать его с программой, написанной на Visual Basic. Научившись создавать справочные файлы в традиционном стиле WinHelp, вы узнаете, как преобразовать их в новый формат HTML, принятый фирмой Microsoft для справочных систем. Этот урок просто необходим для любого серьезного программиста. В уроке 14, «Компиляция и распространение приложений», вы научитесь компилировать программы и распространять их среди будущих пользователей. Также в нем дается ряд рекомендаций, которые следует учитывать при попытке выйти на рынок с новым продуктом.
Книга завершается уроками, посвященными нетривиальным возможностям Visual Basic и аспектам разработки приложений. В уроке 15, «Объектно-ориентированное программирование (ООП)», рассматриваются основные концепции ООП и их использование при разработке приложений. Это гораздо проще, чем вы думаете!
Урок 16, «Расширение IDE с помощью надстроек», научит вас использовать средства расширения Visual Basic при разработке больших и сложных приложений. Кроме того, вы создадите три надстройки для документирования программ, которые помогут снабжать программы точными, последовательными комментариями. Урок 17, «Использование ActiveX», описывает наиболее распространенные аспекты технологии ActiveX. В частности, вы научитесь создавать ваши собственные элементы и документы ActiveX для многократного использования в будущих проектах. Этот урок также подготовит вас к разработке Интернет-программ в уроке 18. В уроке 18, «Программирование для Интернета на Visual Basic», речь идет о разработке приложений с поддержкой Internet на базе различных средств и технологий. Главное в этом уроке — утилита чат-комнаты WebComm. Мы построим ее с помощью трех Internet-средств Visual Basic, чтобы продемонстрировать их силу и гибкость.
Наконец, прочтитав урок 19, «Использование DLL и Windows API», вы научитесь... впрочем, и так понятно. Вы узнаете, как эти средства наделяют приложения элегантностью, нетривиальностью и богатством возможностей. Использование Visual Basic в сочетании с Windows API дает практически неограниченные возможности для разработки программ.
Надеюсь, эта книга пригодится вам, и вы будете держать ее под рукой, когда приступите к написанию своего программного шедевра.
Требования
Предполагается, что вы знакомы с основами работы в среде Windows:
О Вы умеете работать в системе Windows и разбираетесь в ее интерфейсе хотя бы настолько, чтобы уметь запускать приложения.
О Вы умеете пользоваться мышью и клавиатурой в Windows.
Кроме того, предполагается, что вы установили примеры программ с компакт-диска Visual Basic. В книге мы рассмотрим и изменим некоторые из этих приложений.
Условные обозначения
В книге используются условные обозначения, которые помогают донести до читателя максимум информации при минимуме объема:
О Замечания, Подсказки и Предупреждения сделают вашу работу в среде Visual Basic более продуктивной.
О >• обозначает выбор команды меню. Например, «Выполните команду File > Exit» означает, что вы должны сначала открыть меню File, а затем выбрать из него команду Exit.
О Знак + обозначает сочетания клавиш. Например, «Нажмите Ctrl+Alt+Del» означает, что вы должны нажать клавиши Ctrl и Alt и, не отпуская их, нажать клавишу Del.
О Полужирный шрифт обозначает текст, который следует ввести точно так, как он приводится в книге.
О Курсивом обозначены новые термины, а также информация, которая может зависеть от конкретного компьютера, — например, буквы дисков.
О Моноширинным шрифтом обозначаются исходный текст программ и свойства объектов — например, имена и пути файлов, которые необходимо указать при запуске некоторых программ.
О Символ подчеркивания (_) в тексте программы означает, что данная строка будет продолжена на следующей. Вводите символы подчеркивания в тех местах, где они встречаются в тексте книги; Visual Basic интерпретирует их как символы продолжения строки.