Данная лекция представляет собой обзор Microsoft Visual Basic версии 5 (Далее мы будем называть ее Visual Basic или просто VB, чтобы отличить текущую версию от более ранних, будем использовать сокращения VB4 или VB3). В настоящее время доступны 4 версии данного языка, значительно отличающиеся по возможностям.
Графические интерфейсы пользователя, или GUIs, революционизировали микрокомпьютерную индустрию. Они продемонстрировали,
что выражение "Лучше один раз увидеть, чем сто раз услышать не потеряло
своего смысла для большинства пользователей компьютеров. Вместо загадочной
командной строки. С:>, которую как долго наблюдали пользователи DOS, теперь
они смотрят на "рабочий стол" (desktop), заполненный значками программ,
управляя ими при помощи мыши или посредством меню.
Вероятно, при длительном использовании
Windows то, как выглядят приложения, менее важно, чем-то, как они созданы.
В Windows, как правило, программы имеют стандартный интерфейс пользователя.
Это означает, что пользователи потратят больше времени на работу с приложением
и меньше на изучение меню, диалоговых панелей и комбинации клавиш (Конечно,
приложения различных версий Windows выглядят немного по-разному, так как стандарты сохраняются внутри версий Windows, а не между ними.
В то время как программисты
испытывают смешанные чувства к GUIs, он нравится начинающим пользователям,
поэтому от любых программ Windows ожидается соответствие модели GUI. Поэтому,
если необходимо разработать программу для любой из версий Windows, программисту
понадобится эффективное средство для разработки приложений с графическим
интерфейсом пользователя.
За все это долгое время существовало
лишь несколько таких средств разработки. До появления Visual Basic в 1991
году разработка приложений Windows была намного тяжелее процесса создания
приложений для DOS. Программисты должны были позаботиться буквально обо
всем, например, о работе с мышью, обработке событий меню, и даже отслеживать,
щелкнул пользователь один либо два раза в конкретном месте экрана. Разработка
приложений Windows требовала экспертных знаний по программированию на языке
С и сотен строк кода для выполнения простейшие задач. Проблемы были даже
у профессионалов. (Комплект Microsoft Windows Software Development Kit,
необходимый в то время в дополнение к компилятору С, весил тогда около
пяти килограммов).
С Visual Basic программирование в Windows не становится
более эффективным, но оно становится более простым (в большинстве случаев).
В частности. Visual Basic позволяет
добавлять к окнам поля ввода (text boxes), меню, командные кнопки (command
buttons), переключатели (option buttons), флажки (check boxes), списки
(list boxes), линейки прокрутки (scroll bars), a также диалоговые окна
для выбора файла или каталога. Программист может использовать сетку (grid)
для обработки табличных данных, организовать взаимодействие с другими приложениями
Windows и доступ к базам данных. (Кстати, в Visual Basic такие компоненты
обычно называют элементами управления.)
На экране одновременно может
находиться несколько окон. Они должны иметь полный доступ к буферу обмена
(clipboard) и к информации большинства приложений Windows, работающих в
то же время. Можно использовать Visual Basic для взаимодействия с другими
приложениями, работающими под управлением Windows, используя наиболее современную
версию технологии OLE фирмы Microsoft.
Однако все более ранние версии
Visual Basic могли в той или иной степени выполнять вышеописанные задачи.
Что же особенного добавлено к последней версии Visual Basic? В двух словах
ответ состоит в том, что Visual Basic теперь поддерживает элементы ActiveX.
Приведем пример того, как пользователь может загрузить компоненты ActiveX для добавления полезных функций к странице Web. Предположим, что на ней размещена движущаяся картинка и он хочет загрузить ее к себе на компьютер и просмотреть. У Microsoft есть компонент ActiveX Movie, загрузить его можно из ActiveX Gallery no адресу www.microsoft.com/activex/gallery, а затем использовать. Более того, добавив его один раз к своей системе, пользователю не придется загружать его еще раз. Каждый раз, когда страница Web будет содержать объект "active movie", броузер Internet Explorer (а вскоре и Netscape Navigator) сможет использовать один и тот же элемент Active Movie уже из операционной системы пользователя для просмотра видеоматериала.
Большинство наиболее интересных элементов управления в Visual Basic являются элементами ActiveX, поэтому их можно использовать без изменений в броузере с поддержкой ActiveX. Два примера - это сетка (grid control) и элемент управления, использующий одну из стандартных диалоговых панелей для обработки файлов. Даже элементы ActiveX, наиболее мощные из всех, занимают менее чем 200 килобайт каждый. Более специализированные (но тем не менее очень мощные) элементы ActiveX, укладываются в 20 килобайт. На одну дискету 3,5 легко можно уместить 50 наиболее мощных элементов ActiveX.
Смысл всего вышесказанного
состоит в том, что если выбрать одну из многих новых возможностей Visual
Basic 5 с целью объяснить, в чем ее сильное отличие от ранних версий, то
можно сказать так: "Можно строить свои собственные элементы управления
ActiveX полностью на базе Visual Basic". Впервые программисты на Visual
Basic могут расширять данный язык, используя только его возможности. Теперь
они могут создавать свои элементы ActiveX, тем самым используя полностью
всю мощь и простоту Visual Basic, которые всегда являлись отличительными
чертами данного языка.
На этом этапе может возникнуть
вопрос о производительности: работают ли приложения Visual Basic 5 медленнее
по сравнению с более ранними версиями языка? Ответом будет сенсационное
"Нет!". Фактически профессиональные версии Visual Basic 5 впервые могут
генерировать исполняемый код (т.е. создавать исполняемые ЕХЕ-модули). Предыдущие
версии Visual Basic бьши интерпретаторами. Если не вдаваться в отличия
между компилятором и интерпретатором VB, то результатом является исполнение
программ Visual Basic 5 со скоростью в 10-20 раз быстрее, чем это было
в предыдущих версиях.
Все версии Visual Basic занимают много места на жестком диске. Даже самая небольшая (и наименее мощная) бесплатная версия Control Creation edition требует около 10 Мбайт свободного места на диске, процессор 486 или Pentium, а также не менее 16 Мбайт оперативной памяти. Полная инсталляция самой мощной версии Visual Basic Enterprise edition требует более 100 Мбайт дискового пространства.
Visual Basic обычно поставляется на CD. Бесплатную версию Control Creation edition можно загрузить из Интернет (это около 8 Мбайт). Если Вы приобрели Visual Basic 5, рекомендуем заполнить и выслать регистрационную карточку. Несомненно, что по электронной почте придет определенное количество ненужных писем, но зато так проще получить техническую поддержку и извещения об обновленных версиях от Microsoft.
Компакт-диск или дискеты с
Visual Basic содержат программу установки Setup. Версия Control Creation
edition представляет собой самораспаковывающийся ЕХЕ-файл. Все версии требуют
наличия на компьютере Microsoft Windows.
Запустить программу Setup
можно столько раз, сколько необходимо, что означает отсутствие ограничений
на выбор различных вариантов установки (неплохая идея для начинающих пользователей
- применять установки по умолчанию). При первой установке программа Setup
запрашивает имя пользователя и наименование компании. Программа сохраняет
данную информацию и выводит ее каждый раз при запуске среды разработки
Visual Basic.
Мы полагаем, что Вы за свою
жизнь инсталлировали достаточно программ Windows. Если используется одна
из коммерческих версий Visual Basic, нужно перейти к программе Setup.ехе
на компакт-диске или на первой дискете и просто запустить ее на выполнение.
Если устанавливается версия Control creation Edition, нужно дважды щелкнуть
по названию файла VB5Ccein.exe из Windows Explorer. Здесь нодо следовать
инструкциям на экране.
После завершения процедуры
инсталляции Visual Basic будет установлен со своей собственной группой
программ. Для перемещения Visual Basic из одной группы программ в другую
либо на рабочий стол можно использовать Windows Explorer или технологию
drag-and-drop. Для этого требуется изучить документацию по Windows или
прочитать книгу типа "Windows Made Easy" Тома Шелдона.
Если имеются какие-либо дополнения
или исправления к документации, их можно обнаружить в файле типа Readme.
txt. Если данный файл есть на дистрибутивных дискетах или CD, программа
установки автоматически копирует его на винчестер и размещает значок на
рабочем столе Windows в группе программ Visual Basic. Теперь, если дважды
щелкнуть по этому значку, Microsoft Windows загружает данный файл в редакторе
WordPad. Это помогает легко изучить его содержимое.
Самый простой способ запустить
Visual Basic в Windows состоит в использовании пункта
Программы главного меню Пуск. (Программа установки автоматически добавляет
Visual Basic в главное меню Пуск.) На рис. 1-1 приведен примерный вид того,
что будет видно на экране. Кроме того, запустить Visual Basic можно, перейдя
в его каталог при помощи значка "Мой компьютер на рабочем столе Windows".
Затем необходимо дважды щелкнуть по значку Visual Basic. Запустить Visual
Basic можно, открыв диалоговую панель "Выполнить" из главного меню и введя
путь к Visual Basic. (В Windows существует множество
различных вариантов запуска программ.)
Когда Visual Basic начинает
загружаться, пользователь видит экран с информацией об авторских правах,
где указывается, кем лицензирована данная копия программы. После этого
на экране появится картина, примерно соответствующая рис. 1 -2. (Точный
вид экрана зависит от версии Visual Basic.) Диалоговая панель New Project
позволяет начать работу по созданию приложения Visual Basic любого типа.
В данной главе рассматривается только один тип приложения - Standard ЕХЕ
- сокращение от наименования "обычная автономная программа".
В данном разделе будет описано создание двух приложений. Первое мы создадим буквально вручную, оно представляет собой обычное окно с кнопками Maximize, Minimize и Exit. Для второго приложения будет использован Application Wizard (мастер приложений), поставляемый с Visual Basic, применяемый при построении интерфейсов к программам. Такой тип приложений носит название MDI (multiple document interface). Как и в обычной среде разработки, поставляемой с Visual Basic, данные приложения позволяют добавлять окна внутри родительского окна.
Кроме того, в приложениях будет присутствовать расширяемое меню, содержащее ряд стандартных пунктов: File, Help и так далее. Application Wizard генерирует большое количество полезного кода автоматически. Поэтому требуется добавить только небольшое количество дополнительного кода, чтобы полностью "оживить" все автоматически созданные возможности. (Конечно, написание такого кода потребует дополнительных знаний о программировании в Visual Basic. Application Wizard представляет собой мощное, но всего лишь вспомогательное средство программирования; он не может полностью заменить программиста.)
Как отмечалось ранее, при запуске
Visual Basic его первый экран будет выглядеть так, как на рис. 1-2. В диалоговой
панели New Project, показанной на рис. 1 -2, следует дважды щелкнуть на
значку Standard EXE (она первая на рисунке).
Программа тут же перейдет
в режим, показанный на рис. 1 -3. Отметим, что пустое окно носит имя Projecti-Form1
(Form). Внутри него находится другое окно с названием Form1, в котором
видна сетка из точек. Это и есть форма, которую можно модифицировать. Сетка
используется для выравнивания элементов управления на экране, таких, как
командные кнопки и списки.
При запуске проекта (или его
компиляции с целью независимого запуска от среды разработки Visual Basic),
формы, наподобие Form1, становятся окнами, которые и видит пользователь.
Вверху пустой формы размещается строка заголовка (title bar) с заголовком
формы (caption). Заголовком в Visual Basic называется текст в строке заголовка
конкретного окна. В настоящий момент форма озаглавлена по умолчанию как
Form1; такой заголовок Visual Basic присваивает форме в начале работы над
новым проектом. Слева от окна Form1 на рис. 1-3 размещается окно панели
инструментов (toolbox), в котором видны элементы управления, доступные
к размещению на форме. (Как было отмечено до этого, элемент управления
представляет собой термин, используемый в Visual Basic для объектов, размещаемых
на форме при ее создании.) Справа от окна формы размещаются еще три окна.
Верхнее носит название Project Explorer. Непосредственно под ним находится
окно Properties, где устанавливаются различные свойства формы и элементов
управления на ней. Справа внизу размещается окно Form Layout, рассказать
о функциях которого можно за несколько секунд.
Теперь сконцентрируем внимание
на центральном окне с названием Project1 -Form 1 (Form) и дополнительном
окне внутри его с наименованием Form1. В большинстве приложений Visual
Basic размер и местоположение формы в момент окончания ее разработки (обычно
это называют временем создания) определяют размеры того, что пользователь
видит на экране в момент работы программы. Это не означает того, что в
Visual Basic нельзя изменить размер или местоположение форм при запуске
проекта; фактически одним из основных достоинств Visual Basic является
возможность производить динамические изменения в ответ на события, генерируемые
как реакция на действия пользователя.
Изменим размер окна Project1
с тем, чтобы оставить побольше места для работы с формой внутри его. Для
этого необходимо просто щелкнуть по кнопке Maximize. Результат показан
на рис. 1 -4.
Сейчас стало больше
места для работы с окном Form1, попробуем изменить его размер. Опишем один
из способов изменения размеров формы, который является общим для всех приложений
Windows. Сперва необходимо щелкнуть мышью внутри формы, чтобы она стала
активной. (Всегда можно определить, является ли окно активным, поскольку
его заголовок выделяется цветом.) Затем сдвинем курсор мыши к любой части
рамки окна формы. При этом он должен изменить свой вид на двунаправленную
стрелку. С этого момента размеры формы можно изменять, двигая курсор по
экрану.
Для того чтобы начать разработку
первого тестового приложения, необходимо сделать следующие шаги:
Вернемся в среду разработки,
нажав ALT+F4 либо дважды щелкнув по оконному меню управления в форме Form1,
или щелкнув по кнопке Exit в форме Form1. Отметим, что текущее приложение
реагирует на все эти стандартные способы завершения работы с программой
Windows. Это демонстрирует такой важный момент, что в большинстве случаев
приложения Visual Basic ведут себя так, как ожидает пользователь Windows,
не требуя при этом специального вмешательства программиста (или пользователя).
Далее попробуем изменить месторасположение
формы, видимое пользователю изначально. Для этого передвинем окно Form
Layout в правый нижний угол экрана.
Попробуем просто перетащить
форму внутри окна на новое место. Затем снова запустим приложение. Можно
увидеть, что окно формы теперь размещается там, куда его перетащили внутри
окна Form Layout.
Следующее, на чем Мы хотели бы остановиться, — использование мощного VB Application Wizard ("Мастер
приложений"), входящего во все редакции Visual Basic, за исключением Control
Creation edition. Чтобы запустить его, необходимо выбрать в меню File|New
Project и далее, как показано на рис. 1-2, выбрать VB Application Wizard.
Если это будет проделаете, то после небольшой задержки на экране будет
видна картинка, похожая на рис. 1-5.
Для продолжения работы с Application
Wizard необходимо щелкнуть по кнопке Next. Следующий экран показан на рис.
1-6. Здесь программист может выбрать, как будет "выглядеть" новое приложение.
Отметим, что возможные варианты на экране отображены как словами, так и
в картинках.
Чтобы посмотреть, как это все работает, нужно щелкнуть по кнопке Explorer Style. Результат показан на рис. 1-7. Рисунок демонстрирует, что в данном случае выбранный стиль представляет собой древовидную структуру, напоминающую Windows Explorer (но не Internet Explorer).
Сейчас, тем не менее, будет использоваться значение по умолчанию при выборе типа интерфейса - multiple document interface (MDI). Убедившись, что выбор сделан, как показано на рис. 1 -6, можно щелкнуть по кнопке Next. На экране появится окно для выбора типа меню, как показано на рис. 1 -8.
Снова примем значения по умолчанию и щелкнем по Next. После этого мы попадаем в окно, где выбираются параметры файла ресурсов. Сейчас данный вопрос не будет обсуждаться (для любознательных сообщим, что этот файл позволяет легко изменять наименования заголовков и пунктов меню при изменении международных установок, например, названия страны). Для перехода к рис. 1-9 снова нужно щелкнуть по кнопке Next.
Информация на новом экране
станет для читателя более понятной, когда он изучит взаимодействие Visual
Basic с Интернет. Сейчас же просто щелкнем по кнопке Next. В двух следующих
экранах можно добавить некоторые дополнительные формы к приложению, например,
окно заставки или панель "О программе..." (About). Впрочем, в данный момент
не будем разбираться с этим. Опять щелкнем по кнопке Next. Появится окно,
где можно подключить текущее приложение к базе данных. Просто выберем кнопку
Next.
Вот мы и добрались до последнего
экрана, как показано на рис. 1-10. Щелкнем по кнопке Finished и "мастер"
сгенерирует код для нового приложения. (Кроме этого, он спросит о необходимости
вывода итоговой формы. В ней будет описано кое-что из того, что предстоит
еще сделать программисту. Пример итогового отчета можно увидеть на рис.
1-11.)
Следующим шагом в освоении Visual Basic станет запуск одного из примеров программ, поставляемых вмете с ним. (Все версии Visual Basic, за исключением Control Creation edition, поставляются с сотнями примеров программ.
Когда читатели поближе познакомятся
с Visual Basic, они поймут, что данные примеры представляют собой хороший
источник информации и полезных идей.) Тот пример, о котором пойдет речь
сейчас, демонстрирует богатство выбора элементов управления, поставляемых
вместе с Visual Basic.
Ниже приведены основные шаги,
необходимые для загрузки существующего проекта. (Напомним, что проект представляет
собой набор файлов, компонуемых Visual Basic при создании приложения, т.е.
это комбинация визуальных компонентов и исходного кода.)
После небольшой паузы проект с примером об элементах управления будет загружен в среду Visual Basic. Для его запуска необходимо нажать F5. (Если появляется диалоговая панель с вопросом о необходимости сохранить предыдущий проект, нужно ответить "No".) Теперь экран будет выглядеть примерно так, как показано на рис. 1-12. После того как читатель закончит развлекаться с различными примерами, демонстрирующими мощность Visual Basic при работе с элементами управления, он должен щелкнуть по кнопке Exit либо нажать ALT+F4 для возврата в среду разработки.
Завершим данную лекцию кратким обзором на тему о том, как разрабатываются приложения Visual Basic. Некоторые шаги могут сперва показаться читателям непонятными, но очень скоро все прояснится.
Первым шагом при построении
приложения Visual Basic является планирование того, что пользователь видит
на экране, другими словами, разработка интерфейса. Какие меню понадобятся?
Окно какого размера требуется для приложения? Сколько всего будет окон?
Должен ли пользователь иметь возможность изменять размеры окон? Где разместить
кнопки для управления приложением? Будут ли в приложении размещены поля
для ввода текста? Какой тип элемента управления подойдет для решения данной
задачи? Подходят ли элементы управления из данной версии Visual Basic или
их необходимо приобретать или разрабатывать самим?
Количество элементов управления,
находящихся в распоряжении программиста, зависит от редакции Visual Basic,
а также от состояния его кошелька или количества времени, потраченного
на их разработку. В стандартную редакцию входит более 20 элементов управления,
в версии Professional и Enterprise - более 50. Более того, поскольку Visual
Basic подталкивает независимых разработчиков к созданию большого количества
элементов управления для особых задач, почти всегда можно найти готовый
элемент для решения любой проблемы. (Microsoft оценивает количество только
коммерческих элементов управления более чем в 2000 единиц, не считая буквально
бесчисленного множества бесплатных и условно-бесплатных.) В заключение
нельзя не отметить следующее: пользоваться новыми возможностями VB5 можно,
применяя либо готовые элементы управления, либо разрабатывая их с самого
начала (последнее, при всем уважении к читателю, не совсем подходящий способ).
Хотя мы еще многое не попробовали,
но автор хочет повторить еще раз, что в конечном счете Visual Basic отличается
от остальных средств программирования простотой разработки интерфейса пользователя
и его связи с кодом программы. В действительности можно просто нарисовать
этот интерфейс; такой подход очень напоминает графический редактор. После
того как разработка интерфейса завершена, кнопки управления, поля и другие
элементы, размещенные на пустой форме, автоматически будут распознавать
действия пользователя, такие, например, как движение мыши или щелчок ее
кнопки. Visual Basic включает в себя мощные средства разработки меню, что
делает создание обычных и всплывающих меню простым делом.
Только после того как подготовлен интерфейс программы,
начинается процесс, похожий на традиционное программирование. Это второй
шаг при построении приложений Visual Basic: создание программного кода
для активизации визуального интерфейса, подготовленного на первом этапе.
Смысл состоит в том, что объекты Visual Basic распознают события типа щелчков
мыши; то, как они их обрабатывают, зависит от программного кода, написанного
программистом.
Обычно пользователь выбирает кнопку, щелкая по ней мышью. Однако иногда может понадобиться большая гибкость. Один из методов активизации кнопки является общим для всех приложений Windows: переместить фокус на кнопку, нажимая TAB, а затем нажать SPACEBAR. Оба этих метода генерируют событие Click. Другими словами, Visual Basic вызывает процедуру обработки событий Click в любом из этих случаев. Событие Click можно сгенерировать, используя код. (Пользователю известно, что кнопка, получающая фокус, становится трехмерной. Это достигается рисованием тонкого пунктирного прямоугольника вокруг текста на кнопке, и тонкого прямоугольника вокруг самой кнопки.)
Иногда требуется организовать взаимодействие с пользователем по клавише ESC. Обычно данная клавиша отменяет операцию либо просто выводит пользователя из запутанной ситуации. При этом одна из командных кнопок на форме активизируется клавишей ESC. В руководстве по Visual Basic она носит название cancel button. Обычно привязка командной кнопки к клавише ESC осуществляется через окно Properties, однако можно использовать и код. Если просмотреть список свойств для командной кнопки, обнаружится свойство Cancel. Если его значение равняется True, то при нажатии ESC будет обработано событие Click для cancel button, даже если на ней не установлен фокус. Установка значения True в свойстве Cancel для одной кнопки означает автоматическую установку значения False для остальных кнопок формы.
Другая возможность - часто затруднительная для новичков - установка командной кнопки по умолчанию. При этом событие Click для такой кнопки генерируется, когда кто-нибудь нажимает клавишу ENTER. Здесь могут возникнуть проблемы, так как пользователи склонны нажимать данную клавишу в самые неожиданные моменты. (Это происходит, поскольку они считают, что, если фокус установлен на каком-либо объекте, необходимо нажимать не SPACEBAR, а именно ENTER.) В любом случае, если необходимо использовать данную возможность, следует установить свойству Default значение True. Кроме того, на форме может быть несколько кнопок по умолчанию.