Лекция 3: 2 Для создания возможности использования объектов файловой системы нужно подключить библиотеку DLL, содержащую эти объекты: меню Разработать > Ccылки > Microsoft Scriptlet Component (сделать щелчок на соответствующем элементе управления CheckBox). Не могу найти меню Разработать (Develop)>Links и т.д. |
Введение в Visual Basic
Начальные сведения о программировании
Синтаксис; элементарные сведения
Синтаксис - правила написания программ; они будут, ввиду их многоообразия, рассматриваться последовательно по мере изложения материала.
Инструкция Visual Basic - это синтаксически завершeнная конструкция, реализующая действие, описание или присваивание значения/выражения переменной/константе. Как правило, инструкция занимает отдельную строку, однако допускается использование символа разделителя строки и символа разделителя инструкций. Разделители строк позволяют разбить длинные строки на несколько строк, символ разделителя строк: _. Символ двоеточия (:) используется для размещения в одной строке нескольких инструкций. Пример строки кода: а = txt1 демонстрирует оператор присваивания. Пример: Print "A Happy New Millennium !" демонстрирует синтаксис команды Print (напечатать на форме текст, заключeнный в кавычки).
Комментарий служит для пояснения фрагментов кода. Символ ' является символом комментария (можно использовать также ключевое слово Rem), пример:Dim i As Integer ' oписание переменной
Если после набора строки текст выделяется красным цветом, то следует исправить ошибку.
Событийно-управляемое объектно-базирующееся программирование; образование имени процедуры обработки событий
Основой разработки приложений является использование событий. Возникающие в процессе работы действия вызывают события, передаваемые Windows в виде сообщений в приложения. Visual Basic перехватывает сообщения, передаeт их соответствующему объекту, после этого вызывается соответствующее событие. Программный код выполняется, как правило, при наличии события; пример события - щелчок клавишей мыши на командной кнопке.
Этот язык программирования является лишь объектно-базирующимся, не доходящим до уровня объектно-ориентированного языка. Объект - это комбинация кода и данных, которая может рассматриваться как единое целое. Почти всe то, с чем работает пользователь, является объектами (командная кнопка, команда меню, база данных и т.д.). Класс - шаблон объекта, объект определяется классом. Одному классу принадлежат объекты с одинаковыми параметрами (свойства, поля, события, методы). Метод - это процедура, определeнная внутри класса и действующая на объект (например, метод Move может вызывать перемещение объекта). Границы между свойствами и методами нечeтки (например, метод Move и свойства Left и Top могут вызывать одинаковые действия). Свойство - при работе со свойствами используются процедуры: Let, присваивающая значение свойству и Get, считывающая значение свойства (см. практическую работу 13).
Процедура - это последовательность инструкций, с помощью которых выполняются некоторые действия. Рассматриваются следующие типы процедур: процедуры обработки событий, процедуры Sub, Function, Property и Event (процедуры создания событий).
Процедура Sub - это процедура, выполняюшая действия и, как правило, не возвращающая значение. Описание процедуры начинается с зарезервированного слова Sub и заканчивается End Sub. Процедура Sub может получать аргументы (список которых размещают в скобках), передаваемые ей вызывающей процедурой. Если процедура Sub не имеет аргументов, инструкция Sub должна содержать пустые скобки, пример:
Private Sub GetInfo() : End Sub
Процедура Function - это процедура, возвращающая значение. Описание процедуры начинается с ключевого слова Function и заканчивается End Function
Процедура Property - это последовательность инструкций, которые позволяют пользователю создавать собственные свойства и оперировать с ними. Property Let присваивает значение свойству, Property Get возвращает значение свойства.
Имя процедуры обработки события образуется из имени объекта и имени события, разделенных символом подчеркивания, например Command1_Click(), рис. 1.4.
На рис. 1.4. слева расположено поле со списком объектов, справа - поле со списком событий для каждого выделенного объекта. Секция (General) (Declarations) (см. начало этих списков, рис. 1.4.) используется для описания переменных.
Кратко о некоторых элементах управления
Некоторые общие свойства элементов управления
Большинство элементов управления обладают следующими свойствами:
- Идентификатор - Name,
- Позиция: Left, Top (координаты верхнего левого угла элемента управления), Height, Width (высота и ширина элемента управления),
- Доступность и видимость: Enabled определяет будет ли объект реагировать на событие или нет, Visible определяет, будет ли объект видимым во время выполнения,
- Цвет: BackColor - цвет фона, FillColor - цвет заполнения объектов, ForeColor - цвет текста, графики,
- Свойства шрифта: FontName - название, FontSize - размер, FontBold - полужирный, FontItalic - курсив и т.д.
Существуют объекты-контейнеры (Container), служащие для объединения других объектов. Контейнерами могут служить: Form, Picture, Frame, ToolBar, OLE.
Важным понятием при работе с элементами управления является фокус. Когда в процессе функционирования принимается решение, какому объекту передавать событие - управление передаётся активному объекту (имеющему фокус). Передача фокуса - может быть осуществлена с использованием cобытий LostFocus, GotFocus. Событие LostFocus вызывается для предыдущего объекта при переходе от одного объекта к другому.
Некоторые элементы управления
Ниже перечислены некоторые элементы управления.
- Метка - Label предназначена для отображения текста. Важным свойством является Caption, оно содержит отображаемый текст. При использовании свойства BorderStyle, можно отобразить текст с рамкой/без рамки. Присваиванием свойству AutoSize значения True устанавливается соответствие размера элемента управления и длины текста.
- Текстовое поле - TextBox предназначено для ввода, вывода текста. При изменении содержимого текстового поля (ввод, удаление) вызывается событие Change. При "входе" пользователя в текстовое поле вызывается событие GotFocus. Важным является свойство Text: оно содержит текст, отображаемый в текстовом поле.
- Командная кнопка - CommandButton может реализовать начало, окончание процесса и т.д; главное событие - Click.
- Список - ListBox. В режиме конструирования можно создать список, используя окно свойств (используется свойство List, при этом первый элемент списка имеет индекс 0). В процесе выполнения можно выбирать элементы списка (расширение возможностей программирования), можно добавлять/удалять элементы списка. Использование массивов списков (см. ниже) предоставляет большие возможности программисту. Основные события - Click, DblClick, создаваемые при щелчках на элементах списка.
- Поле со списком - ComboBox представляет собой комбинацию списка ListBox и поля текста TextBox.
- Таймер - Timer используется, если нужно стартовать/останавливать процедуры проекта в определeнные моменты времени. Свойство Interval служит для установки временного интервала (в миллисекундах). Имеется единственное событие Timer, которое вызывается по прошествии определeнного временного интервала. Для отключения таймера можно присвоить свойству Interval значение 0 или свойству Enabled значение False.
- Окно с рисунком - PictureBox является элементом-контейнером. Использование свойства AutoSize позволяет изменять размеры объекта. Свойство Picture определяет отображаемый объект.
- Image служит для отображения графики. Свойство Picture определяет отображаемый рисунок. Важным свойством является Stretch, если его значение есть True, то размеры отображаемого рисунка изменяются до размеров элемента управления Image.
- Особый интерес представляет информация о форме. Еe свойства можно устанавливать в окне свойств после щелчка клавишей мыши по форме или выбрав еe в списке объектов в окне свойств. Свойство Caption определяет надпись на форме вверху, свойство BackColor определяет цвет, свойство Font - шрифт, свойство ВorderStyle определяет наличие рамки, возможность изменения размера/перемещения, вид рамки, вид строки заголовка. Свойство WindowsState позволяет увеличить размер формы до размера экрана, см. пример в практической работе 1. Наиболее часто используемым событием является Load, происходящим при загрузке формы в память, поэтому после старта проекта первым выполняется код процедуры Form_Load. Формы сохраняются в виде отдельных файлов (код и описание среды).
Ниже приведена некоторая часть сокращений, используемых в идентификаторах объектов (Name), принятые в Visual Basic (так называемое соглашение по коду ): frm - Form, lbl - Label, txt - TextBox, cmd - CommandButton, chk - CheckBox, opt - OptionButton, lst - ListBox, cbo - ComboBox, pic - PictureBox, cmdl - CommonDialog, img - Image, dat - Data, grd - Grid, mnu - Menu.