Окно редактора кода
Для того чтобы открыть окно редактора, достаточно открыть любой модуль Access (рис. 13.12).
Замечание
Даже в локализованных версиях Access окно редактора кода VBA, а также все другие диалоговые окна, составляющие среду программирования VBA, традиционно не локализуются. Поэтому все рисунки в этом разделе главы, а также экранные термины (названий команд меню, диалоговых окон и т. д.) приводятся в нелокализованном варианте.
Рис. 13.12. Окно редактора кода VBA
Обычно в окне редактора используются три панели (три отдельных окна). На самом деле окон может быть и больше и меньше, и скоро вы узнаете обо всех, но на рис. 13.12 показано только расположение основных окон.
Проект приложения состоит из модулей, которые делятся на три категории:
Список объектов в окне проекта является иерархическим, кроме модулей самого проекта, он может включать ссылки на объекты из внешних библиотек и список модулей этих библиотек.
В верхней части панели проекта расположены три кнопки:
Панель свойств позволяет просматривать и изменять свойства различных объектов, входящих в проект. Для отображения свойств объекта его нужно выделить либо в дереве проекта, либо в окне Конструктора формы (отчета). Во многом эта панель дублирует диалоговое окно Свойства (Properties) в формах и отчетах. И в том и в другом случае изменение свойств объекта статично, поэтому они могут быть использованы для задания начальных или постоянных свойств объекта.
Чтобы изменить значение свойства объекта, необходимо:
Для каждого модуля, выбранного на панели проекта, открывается свое окно редактора кода. В данном случае в окне редактора мы видим модуль «Заставка» (Startup) приложения «Борей» (рис. 13.13).
Код в каждом модуле состоит из разделов, переключение между которыми выполняется путем выбора значения из списка Object (Объект), который размещается в левом верхнем углу окна. Список разделов различается для разных типов модулей.
Для модуля формы этот список включает раздел General (Общая область), который содержит объявления переменных, констант, специальных типов, внешних процедур. Данный раздел открывается по умолчанию при открытии окна кода. Для стандартного модуля этот раздел единственный — он содержит описание всех процедур. Модуль класса имеет разделы General и Class. Модуль формы, кроме раздела General, содержит раздел самой формы и разделы для каждого элемента управления. Модуль отчета включает в себя раздел для объекта Report (Отчет) и разделы для каждой области отчета. Для полей отчета не определены события, поэтому отсутствуют и соответствующие разделы в модуле кода.
Рис. 13.13. Стандартный модуль в окне редактора
Каждый раздел может содержать несколько процедур, выбираемых из списка Procedure в правом верхнем углу окна на рис. 13.13. Список процедур в стандартном модуле содержит Declarations (Описания) и имена всех процедур модуля в алфавитном порядке. Список процедур для модуля формы включает в себя перечень всех событий формы и ее элементов. Для модуля класса список процедур содержит только две процедуры для событий класса: Initialize и Terminate.
С помощью кнопок в левом нижнем углу окна можно выбрать один из видов представления кода в окне.
Для настройки параметров редактора используется также диалоговое окно Options (Параметры), которое можно открыть, выбрав команду Options в меню Tools (Сервис) (рис. 13.14). Это окно описывает только параметры редактора кода и вызывается из среды редактора кода.
Рис. 13.14. Диалоговое окно параметров редактора кода
Оно содержит четыре вкладки.
Первая вкладка Editor (Редактор) состоит из двух групп параметров: Code Settings и Window Settings.
Вторая вкладка Editor Format (Формат редактора) позволяет определить шрифт, его размер и цвет для разных областей текста. Открыв любой модуль, вы можете убедиться, что текст программ представлен несколькими цветами: по умолчанию комментарии выделяются зеленым цветом, ключевые слова — синим. При отладке программ используются и другие цветовые выделения фрагментов текста: точек останова, текущей команды и т. д. Все эти способы выделения могут быть настроены в соответствии с вашим вкусом в данном окне.
Третья вкладка General (Общая) содержит несколько групп переключателей и флажков.
Последняя группа флажков определяет, когда компилируются модули проекта:
На последней вкладке Docking находятся флажки, позволяющие закрепить положение основных окон на экране.
Для того чтобы убедиться, что наши утверждения об интеллектуальности редактора не являются голословными, достаточно попробовать написать даже самую простую программу. Давайте заменим в форме «Клиенты» (Customers) макрос, который открывает форму «Заказы» (Orders) при нажатии кнопки Заказы клиента, процедурой VBA, которая выполняет те же действия. Мы создавали такой макрос в разд. «Назначение макроса событию»гл. 11. Если вы этого не делали, тогда создайте сейчас командную кнопку в области заголовка окна и назовите ее «Заказы клиента» (кнопка Мастера на панели элементов при этом должна быть отжата).
После этого нажмите кнопку Программа (Code) на панели инструментов. Откроется редактор кода VBA, который по умолчанию попытается создать процедуру обработки события Load формы. Выберите из списка слева объект Заказы клиента. Редактор автоматически вставит заголовок и концовку процедуры обработки события Click (рис. 13.15). Открыв список справа, вы можете увидеть, как много различных событий связано с командной кнопкой, однако наиболее часто используется именно событие Click. Так как с этим событием сейчас не связано никакой процедуры, редактор сразу пытается ее создать.
Начнем писать текст процедуры. Процедура будет состоять из нескольких команд. Нам необходимо открыть форму «Заказы» (Orders) и показать в этой форме только те заказы, которые относятся к определенному клиенту, поэтому придется задать условие для отбора записей в форме «Заказы» (Orders). Обычно для этого используют переменную типа string, которой сначала присваивают нужное значение, а потом подставляют в качестве параметра в макрокоманду Открытьформу (OpenForm). Чтобы использовать такую переменную, ее сначала нужно описать, поэтому первое предложение в процедуре должно быть следующим:
Dim stLinkCriteria As String
Рис. 13.15. Создание процедуры обработки события
Как только вы напишете первые три слова Dim stLinkCriteria As, на экране появится список слов (рис. 13.16), которые могут быть использованы в данном предложении.
Рис. 13.16. Автоматический вывод списка компонентов
Следующая строка будет присваивать переменной strLinkCriteria значение: stLinkCriteria = «[КодКлиента]=» & «‘» & Me![КодКлиента] & «‘»
Две формы будут связаны по значению поля CustomerID. Первое выражение [КодКлиента] относится к форме «Заказы» (Orders), а второе значение Me! [КодКлиента] — к текущей форме «Клиенты» (Customers), о чем говорит слово Me. Теперь используем макрокоманду Открыть форму (OpenForm) для того, чтобы открыть форму «Заказы» (Orders). Как только набирается docmd, появляется новая подсказка — список макрокоманд (рис. 13.17).
Рис. 13.17. Автоматический вывод методов объекта
Уже известным способом выбираем нужную макрокоманду, нажимаем пробел и опять подсказка — синтаксис макрокоманды Открыть форму (OpenForm) (рис. 13.18).
Рис. 13.18. Автоматический вывод кратких сведений
И это очень кстати, т. к. позволяет не запоминать все аргументы макрокоманды и порядок их следования. Введите имя формы: Заказы (Orders), запятую, и опять появится подсказка с именами возможных констант, которые могут быть указаны в следующем параметре. Выберите константу acNormal и продолжайте ввод. Должна получиться строка:
Две следующие подряд запятые говорят о пропущенном параметре — имя фильтра.
Теперь добавим еще одну команду — изменим заголовок формы:
Forms!Заказы.Caption = «Заказ» & Название
Рис. 13.19. Программа открытия формы «Заказы»
На примере этой простой программы мы продемонстрировали три очень полезных свойства редактора.
Когда вы уже усвоите язык VBA, такие подсказки могут показаться вам навязчивыми. Тогда вы можете отключить их, сбросив соответствующие флажки в диалоговом окне Options (Параметры) редактора кода (вкладка Editor).
Однако при необходимости вы легко получите требуемую помощь, если воспользуетесь контекстным меню редактора кода (рис. 13.20).
Рис. 13.20. Контекстное меню редактора кода
Кроме описанных выше функций, в контекстном меню присутствуют и другие очень полезные функции, способствующие быстрому написанию кода, — List Constants, Parameter Info, Complete Word, а также две команды, очень упрощающие навигацию среди программных модулей:
Урок 4. Программный код проекта
Урок из серии «Программирование на Visual Basic.Net для школьников«.
В предыдущем уроке вы создали свой первый проект. Познакомились со всеми этапами создания проекта.
В этом уроке мы остановимся на программном кода проекта более подробно, повторим операторы, которые используются для записи линейного алгоритма.
Вы узнаете где находится программный код проекта, как открыть редактор кода.
Повторим оператор объявления переменных, оператор присваивания, познакомимся с функциями InputBox и MsgBox, которые используются для ввода/вывода данных.
Программный код проекта и редактор кода
Связанный с формой Form1 программный код находится в файле Form1.vb. Открыть редактор кода можно тремя способами:
2. Список событий для выбранного объекта
3. Заготовка для обработки события щелчок на кнопке
В верхней части окна редактора кода располагаются два раскрывающихся списка. Левый список содержит все объекты, имеющиеся на форме.
Раскрывающийся список справа содержит список событий, связанных с выбранным объектом, на которые программы может реагировать. Первоначально в этом списке выбрано основное, самое «естественное» событие для этого объекта.
В окне редактора кода находится свернутый код, автоматически созданный конструктором форм Windows.
Он генерируется автоматически, если вы добавляете на форму кнопку или какой-то другой элемент управления.
Далее располагается код, который вы пишите собственноручно.
Тот код, который вы пишите вручную, в большинстве случаев находится в обработчиках событий элементов управления формы.
Чтобы написать программный код для обработчика события, которое идет по умолчанию для элемента управления формы, нужно выбрать этот элемент на форме и выполните по нему двойной щелчок. Откроется окно редактора кода, и создастся заготовка процедуры обработчика события (пустая процедура, содержащая заголовок и оператор, обозначающий конец процедуры), готовая для редактирования.
Обработчики других событий можно выбрать из выпадающего списка в верхнем правом углу окна редактора кода.
После того как заготовка процедуры создана, остается записать своими руками операторы, описывающие, что происходит после наступления события. Чтобы вам проще было сделать это, текстовый курсор уже установлен в нужное место.
В программном коде будем использовать те же алгоритмические конструкции, что и в языке QBasic. Мы их будем постепенно вводить по ходу решения задач.
Первые наши проекты будут содержать программный код, реализующий линейные алгоритмы. Для записи таких алгоритмов будут необходимы: оператор объявления переменных, функции для ввода и вывода данных и оператор присваивания.
Объявление переменных
Для использования переменной необходимо выполнить три действия:
При объявлении переменной необходимо решить, как она будет называться, и какой тип данных будет ей присвоен.
Для объявления переменных используется оператор Dim.
Синтаксис этого оператора:
Основные типы переменных:
String (текстовые строки);
Integer (целые числа);
Single (дробные числа);
Boolean (True или False).
Эта строка кода сообщает программе, что требуется использовать переменную с именем aNumber, и что она должна хранить целые числа (тип данных Integer).
При объявлении нескольких переменных можно перечислять их через запятую:
Присваивание переменным значений
Значение переменной присваивается при помощи знака =, называемого оператором присваивания, как показано в следующем примере.
Эта строка кода берет значение 42 и сохраняет его в ранее объявленной переменной с именем aNumber.
Как показано выше, можно объявить переменную в одной строке кода и присвоить ей значение позже, в другой строке. Это может вызвать ошибку при попытке использовать переменную до присвоения ей значения.
По этой причине рекомендуется объявлять переменные и присваивать им значения в одной и той же строке. Даже если будущее значение переменной пока неизвестно, ей можно присвоить значение по умолчанию. В этом случае код для объявления и присвоения значений тем же самым переменным будет выглядеть так, как показано ниже.
При этом далее в коде по-прежнему можно присваивать переменным другие значения.
Функция ввода данных
InputBox() – функция для ввода данных с помощью диалогового окна ввода.
Аргументами этой функции являются две строки, а значением функции – строка, введенная пользователем.
= InputBox(«Подсказка», «Заголовок окна» [, «Значение по умолчанию»])
Подсказка – строка для отображения в диалоговом окне подсказки относительно вводимого значения;
Заголовок – строковое значение, задающее название окна в строке заголовка. Если аргумент Заголовок опущен, то в строку заголовка помещается имя приложения.
Значение по умолчанию — строковое значение, отображаемое в качестве ответного сообщения по умолчанию, если ничего не было введено.
Если параметр Значение по умолчанию опущен, то в текстовом поле ничего не отображается.
Если какие-либо аргументы пропускаются, то нужно оставить разделяющие их запятые.
В процессе выполнения этой функции появляется диалоговое окно с текстовым полем для ввода данных.
Если пользователь щелкнет ОК, то значением функции станет строка, введенная пользователем.
Если щелкнет по кнопке Cancel, то значением функции станет строка «Значение по молчанию».
Функция вывода данных
MsgBox() – функция выводит сообщение в специальное окно сообщений, в котором можно разместить определенный набор кнопок и информационный значок о типе сообщения.
Общий вид функции: MsgBox(«Сообщение» [,ЧисКод1+ЧисКод2] [,»Заголовок»])
Сообщение – это сообщение, которое выводиться в окно сообщений;
ЧисКод1+ЧисКод2 – аргумент, определяющий внешний вид окна, значение ЧисКод1 определяет вид пиктограммы, которая помещается на окно сообщения, а значение ЧисКод2 – набор кнопок, размещаемых в окне;
Заголовок – аргумент, определяющий заголовок окна.
Например, для функции MsgBox («Сообщение»,48+3,»Заголовок») будет выведено окно сообщений, показанное ниже:
Проект «Переменные»
В этом проекте будет написана короткая программа, которая создает четыре переменные, присваивает им значения, а затем отображает каждое значение в окне, называемом окном сообщения.
Этот код объявляет четыре переменные и присваивает им значения по умолчанию. Эти четыре переменные являются переменными типов Integer, Single, String и Boolean.
Примечание. Значения для переменных типа String (текстовые строки) необходимо заключать в кавычки (» «). Эта инструкция сообщает программе, что текст нужно интерпретировать именно как фактический текст, а не как имя переменной.
В этом уроке вы узнали как писать программный код проекта, повторили операторы, которые используются для записи линейного алгоритма. Оператор присваивания использовали для изменения значений простых переменных.
В следующем уроке будет рассказано о применении оператора присваивания для изменения значений свойств элементов управления.
Урок понравился? Отзывы и замечания можно оставить в форме для комментариев, расположенной в нижней части страницы.
Введение. Средства разработки программ на языке Free Pascal
1.4.6 Окно редактора Lazarus
Окно редактора (рис. 1.14) тесно связано с формой приложения (рис. 1.18) и появляется вместе с ним при создании нового проекта. Окно редактора по умолчанию находится на первом плане и закрывает окно формы. Переключаться между этими окнами можно командой Просмотр — Переключить модуль / форму, клавишей F12 или просто щелчком мыши.
Окно редактора предназначено для создания и редактирования текста программы, который создается по определённым.правилам и описывает некий алгоритм. Если окно формы определяет внешний вид будущей программы, то программный код, записанный в окне редактора, отвечает за её поведение.
Вначале окно редактора содержит текст, обеспечивающий работу пустой формы. Этот программный код появляется в окне редактора автоматически, а программист в ходе работы над проектом вносит в него дополнения, соответствующие функциям создаваемой программы.
Обратите внимание, что при загрузке Lazarus автоматически загружается последний проект, с которым работал пользователь. Происходит это благодаря отмеченному пункту Открывать последний проект при запуске (рис. 1.19), который находится на вкладке Файлы меню Окружение — Настройки окружения. Если убрать метку рядом с командой Открывать последний проект при запуске, то при загрузке Lazarus будет создавать новый проект.
Настроить окно редактора можно с помощью вкладки Общие меню Окружение — Настройки редактора. (рис. 1.20). Для того чтобы установить (отменить) ту или иную настройку, достаточно установить (убрать) маркер рядом с её названием и подтвердить изменения нажатием кнопки Ok.
На вкладке Дисплей меню Окружение — Настройки редактора. (рис. 1.21) можно изменить шрифт текста программного кода.
Шаблоны можно добавлять, удалять и править. Для этого в окне Шаблоны кода предусмотрены специальные кнопки. В нижней части окна, над кнопками Ok и Отмена, расположено поле ввода и редактирования шаблонов с активным курсором. Если выделить любой шаблон из списка, щёлкнув по нему мышкой, то в поле ввода появится соответствующая конструкция.
Если воспользоваться кнопкой Добавить, то появится диалоговое окно (рис. 1.23) для создания шаблона. Здесь в поле Элемент следует указать символ или группу символов, ввод которых будет связан с создаваемым шаблоном. В поле Комментарий можно дать краткое описание шаблона и нажать кнопку Добавить. Элемент и комментарий к нему будут добавлены в список шаблонов в окне Шаблоны кода. Теперь нужно создать сам шаблон, то есть указать, какая именно конструкция языка появится при вводе элемента в текст программы. Для этого надо выделить вновь созданный шаблон и в поле ввода, расположенном в нижней части окна Шаблоны кода, ввести соответствующий текст.
Для изменения шаблона служит кнопка Правка. Шаблон, который нужно откорректировать, должен быть выделен. Дальнейшие действия аналогичны тем, которые выполняются при создании шаблона.
Для того чтобы удалить шаблон из списка, его нужно выделить, а затем нажать кнопку Удалить.
1.4.7 Панель компонентов
Панель компонентов расположена 16 Включить (выключить) Панель компонентов можно, установив (убрав) маркер рядом с командой Показать палитру компонентов меню Просмотр. под главным меню (рис. 1.14). Она состоит из большого числа групп, в которых располагаются соответствующие компоненты (рис. 1.26).
Компонент — это некий функциональный элемент интерфейса, обладающий определенными свойствами. Размещая компоненты на форме, программист создаёт элементы внешнего вида своей будущей программы — окна, кнопки, переключатели, поля ввода и т. п.
Компоненты на панели объединяются в группы по функциональному признаку. После создания проекта по умолчанию открывается список группы Standard, содержащий основные элементы диалоговых окон. Просмотреть другие группы можно, раскрывая их щелчком по соответствующей вкладке.
Для того чтобы расположить новый компонент на форме нужно сделать два щелчка мышью:
1.4.8 Инспектор объектов
Окно инспектора объектов располагается слева от окна редактирования. Как правило, оно содержит информацию о выделенном объекте. На рис. 1.27 представлен инспектор объектов с информацией о вновь созданной форме.
Окно инспектора объектов имеет три вкладки: Свойства, События, Избранное, которые используются для редактирования свойств объекта и описания событий, на которые будет реагировать данный объект. Совокупность свойств отображает внешнюю сторону объекта, совокупность событий — его поведение.
Вкладки инспектора объектов представляют собой таблицу. В левой колонке расположены названия свойств или событий, в правой — конкретные значения свойств или имена подпрограмм, обрабатывающих события.
Чтобы выбрать свойство или событие, необходимо щёлкнуть левой кнопкой мыши по соответствующей строке.
Свойства, отображённые в таблице, могут быть простыми или сложными. Простые свойства определены единственным значением. Например, свойство Caption (Заголовок) определяется строкой символов, свойства Height (Высота) и Width (Ширина) — числом, свойство Enabled (Допустимость) — значениями True (Истина) и False (Ложь). Сложные свойства определяются совокупностью значений. Например, свойство Font (Шрифт). Слева от имени этого свойства стоит знак «+». Это означает, что свойство сложное, и при щелчке по значку «+» откроется список его составляющих.
1.4.9 Первая программа в Lazarus
Процесс создания программы в Lazarus состоит из двух этапов:
Как мы уже выяснили, для создания интерфейса программы существует окно формы, а для написания программного кода — окно редактора. Эти окна тесно связаны между собой, и размещение компонентов на форме приводит к автоматическому изменению программного кода.
Начнём знакомство с визуальным программированием с создания простой программы про кнопку, которая хочет, чтобы по ней щёлкнули. После чего появляется сообщение о работе программы.
Начнём с создания нового проекта. Для этого выполним команду главного меню Проект — Создать проект. В появившемся диалоговом окне (рис. 1.28—1.29) выберем из списка слово Приложение и нажмём кнопку Создать. Результатом этих действий будет появление окна формы и окна редактора программного кода.
Сохраним созданный проект, воспользовавшись командой Проект — Сохранить проект как. Откроется окно сохранения программного кода Сохранить Unit1 (рис. 1.30—1.31).
























