Структура приложения VisualBasic
Приложение на самом деле представляет собой не что иное, как набор инструкций, которые направляют компьютер на выполнение задачи. Структура приложения — это способ организации инструкций, то есть место хранения инструкций и порядок их выполнения.
Типичные примеры helloworld и подобные простые приложения имеют простую структуру. Для одной строки кода организация не очень важна. Но чем сложнее приложение, тем более очевидными являются организационные или структурные требования. Только представьте себе хаос, который возник бы, если бы приложениям было разрешено выполняться в случайном порядке. Помимо контроля выполнения приложения, структура также играет важную роль в том, как легко найти конкретные инструкции в приложении.
Поскольку приложения Visual Basic являются объектно-ориентированными, структура кода приложения представляет собой модель физического представления программы на экране. По определению объекты содержат данные и код. Форма, которую вы видите на экране, представляет свойства, определяющие внешний вид формы и основные характеристики. Каждая форма в приложении имеет связанный с ней модуль формы (расширение файла .frm), содержащий ее код.
Каждый модуль формы содержит процедуры событий, которые представляют собой разделы кода, содержащие инструкции, выполняемые в ответ на определенные события. Формы могут содержать элементы управления. В модуле формы существует соответствующий набор процедур событий для каждого элемента управления формы. Помимо процедур событий, модуль формы может содержать общие процедуры, которые отвечают на вызовы любой процедуры события.
Код, не связанный с конкретной формой или элементом управления, может быть помещен в модуль другого типа — стандартный модуль (расширение файла .BAS). Процедура может использоваться для реагирования на события в нескольких разных объектах. Эту процедуру следует поместить в стандартный модуль, а не повторять один и тот же код в процедуре обработки событий каждого объекта.
Используйте модули классов (расширение файла .CLS) для создания объектов, которые могут вызываться процедурами внутри приложения. Стандартный модуль содержит только код, тогда как модуль класса содержит и код, и данные и может рассматриваться как элемент управления без физического представления.
Глава 4 «Управление проектами» описывает, какие компоненты можно добавить в приложение. В этой главе объясняется, как писать код в различные компоненты, составляющие приложение. По умолчанию проект содержит уникальный модуль формы. При необходимости можно добавить дополнительные формы, классы и стандартные модули. В главе 9 «Программирование с использованием объектов» обсуждаются модули классов.
Как работают приложения, управляемые событиями
События — это действия, распознаваемые формой или элементом управления. Приложения, управляемые событиями, выполняют базовый код в ответ на события. Каждая форма и элемент управления в Visual Basic имеют предопределенный набор событий. Если происходит одно из этих событий и в соответствующей процедуре события есть код, Visual Basic вызывает этот код.
Хотя объекты в Visual Basic автоматически распознают заранее определенный набор событий, программист несет ответственность за определение того, реагируют ли они на определенные события и если да, то каким образом. Каждому событию соответствует раздел кода (т. е. процедура события). Если вы хотите, чтобы элемент управления реагировал на событие, напишите код в процесс события.
Существует множество типов событий, распознаваемых объектами, но большинство типов являются общими для большинства элементов управления. Например, большинство объектов распознают событие Click: если вы щелкаете форму, выполняется код процедуры события Click формы; если нажимается командная кнопка, выполняется код процедуры события Click командной кнопки. Реальный код в каждом случае почти полностью разный.
Вот типичная последовательность событий в событийно-управляемом приложении:
1. Запустите приложение, загрузите и отобразите форму.
2. Форма (или элемент управления в форме) получает событие. События могут быть инициированы пользователем (например, операции с клавиатурой), системой (например, события таймера) или косвенно кодом (например, событие Load, когда код загружает форму).
3. Если код существует во время соответствующего события, выполните его.
4. Приложение ожидает следующего события.
Обратите внимание, что многие события происходят одновременно с другими событиями. Например, при возникновении события DblClick также возникают события MouseDown, MouseUp и Click.
->