Сквозной пример создания приложения на Visual Basic.
Создание любой программной системы (проекта) на Visual Basic состоит из следующих этапов:
· Создание интерфейса (создание окна диалога и размещение в нем элементов управления).
· Установка параметров (свойств) элементов управления.
· Ввод текста программ и их отладка.
· Сохранение проекта в удобном для последующего использования виде.
Рассмотрим реализацию этих этапов на примере простого проекта для пересчета долларов в рубли и наоборот.
Задать элементы управления можно двумя способами:
1. Щелкните мышью на нужном элементе окна шаблонов (стрелка превращается в”+”), перенесите указатель в верхний левый угол формы, нажав и не отпуская кнопку мыши переместите указатель вправо и вниз формы, отпустите кнопку мыши. На форме в верхнем левом углу создается выбранный элемент управления соответствующего перемещению размера.
2. Дважды щелкнуть мышью на нужном элементе окна шаблонов. При этом создается элемент управления с размерами по умолчанию в центре формы.
Определим теперь свойства введенных элементов, используя окно свойств (Properrties). Активизируем элемент Label1, при этом активизируются свойства в окне свойств, относящиеся к этому элементу (заголовок Label1 Label). Выберем свойство Caption (Название) и определим его как Рубли, используя строку ввода.
Свойство Caption (Название) для Label2 зададим Доллары. Остальные оставим по умолчанию.
Определим свойства тестовых окон. Активизируем сначала первое окно, очистим окно (удалим значение Text1 свойства Text) и присвоим ему имя txtDollars (свойство Name (Имя), которое будем использовать при написании текста программ. Очистим также второе окно и присвоим ему имя txtRuble. Остальные свойства обоих окон оставим по умолчанию.
Ввод текста (View Code).
Private Sub txtDollars_KeyPress(KeyAscii As Integer)
Dim Dollars As Currency
If KeyAscii = 13 Then
Dollars = Val(txtDollars.Text)
txtRuble.Text = Str(Dollars * 30)
End If
End Sub
Private Sub txtRuble_KeyPress(KeyAscii As Integer)
Dim Rubls As Currency
If KeyAscii = 13 Then
Rubls = Val(txtRuble.Text)
txtDollars.Text = Str(Rubls / 30)
End If
End Sub
Функция Val преобразует строку символов в числовое значение, а функция Str преобразует число в строковое представление.
Самостоятельное выполнение приложения для перерасчета рублей в евро.
Форма, ее свойства и их модификация.
Как будем описывать элементы языка:
Для дальнейшего описания свойств, процедур обработки событий, методов, а также операторов языка Visual Basic, будет использоваться следующий формальный способ описания:
· курсивом (курсивом) будет выделяться тип информации, которая должна присутствовать в данном месте описываемого элемента;
· элементы, набранные прямым шрифтом, соответствуют ключевым словам или символам;
· элементы в квадратных скобках ([ ]) необязательны;
· список в фигурных скобках ({ }), разделенный вертикальными чертами (|), требует обязательного выбора одного из элементов списка;
· многоточие (...), следующее за парой квадратных скобок, означает, что последовательность элементов в квадратных скобках может неоднократно повторяться.
Пример: правило записи целого числа можно описать следующим образом:
[{+|-}] { 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }[{ 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 }]...
Форма и элементы управления имеют набор свойств, значения которых определяют внешний вид и функционирование форм и элементов управления. Ряд свойств являются общими для разных элементов управления (т.е. имеют одно и то же название и функции). Некоторые свойства относятся только к конкретным элементам управления (определяют специфические функции отдельных элементов управления).
Выбор того или иного элемента управления или формы на этапе разработки формы активизирует список свойств выбранного объекта в окне Properties (Свойства), значения которых определены по умолчанию (т.е. им присваиваются определенные значения без участия разработчика) и, если они устраивают разработчика приложения, то их можно не менять.
Ряд свойств элементов управления может принимать любые значения (возможно, в некотором диапазоне). Другие свойства имеют фиксированный набор значений (например, набор возможных цветов). В последнем случае для таких свойств поле параметров имеет раскрывающийся список, в котором содержатся все возможные альтернативные значения, из которых может быть выбрано необходимое значение.
Конкретные значения свойств формы или элементов управления могут задаваться (изменяться) на этапе разработки формы (в рассмотренном примере задавались значения свойств в окне свойcтв (Properties)) и далее в процессе работы приложения изменяться не могут (их значения только используются в момент выполнения программы). Другие свойства того или иного объекта могут изменять свои значения программным путем в процессе выполнения приложения. Кроме того, ряд свойств некоторых объектов доступен для определения и изменения только при выполнении приложения.
Для задания или изменения значений свойств программным путем в процессе выполнения приложения используются операторы
[ имя_формы. ] имя_элемента_управления. свойство = значение
Например:
Form1. Left = 200 - свойству Left формы Form1 (расстояние левой границы формы от границы экрана) присваивается значение 200;
Form5. Text1. Width = 1215 - свойству Width (ширина) текстового окна (имя Text1) находящегося на форме Form5 присваивается значение 1215;
Label3. FontItalic = True - свойству FontItalic (курсив) метки Label3 присваивается значение True (текст метки выводится курсивом)
Форма.
Каждая форма в период выполнения соответствует отдельному окну. Внешний вид и поведение формы на экране определяется значением свойств. Эти свойства определяются в окне свойств на этапе разработки формы или операторами программы в процессе выполнения приложения. Наиболее часто используемыми свойствами являются:
Name (Имя) - имя формы. Используется при написании текста программы и изменяться не может.
Caption (Название) - заголовок окна.
Top (Верхняя координата), Left (Левая координата) определяют координаты левого верхнего угла формы.
Height (Высота), Width (Ширина)определяют высоту и ширину формы. Единица измерения 1 twip равна 1/1440 дюйма или 0,0018 см.
BorderStyle (Тип границ)принимает одно из четырех стандартных значений, изменение которых допускается только на этапе разработки формы и определяют вид и поведение формы в процессе выполнения приложения (но не влияют на вид формы при разработке):
0-None - границы окна отсутствуют;
1 - Fixed Single - окно постоянного размера, определяемого на этапе разработки, с одинарной линией границы;
2 - Sizeable - окно изменяемого размера с двойной линией границы;
3 - Fixed Double - окно постоянного размера, определяемого на этапе разработки, с двойной линией границы.
MaxButton (Кнопка развернуть), MinButton (Кнопка свернуть) определяют наличие на форме соответствующих кнопок.
BackColor (Цвет фона) и ForeColor (Основной цвет) определяют цвет фона формы и выводимого на форму текста или изображения.
FontName (Имя), FontSise (Размер), FontBold (Полужирный), FontItalic (Курсив), FontStrikethru (Зачеркнутый), FontUnderline (Подчеркнутый)определяют шрифты выводимого на форму текста.
Размер шрифта определяется в пунктах (point) - стандартная типографская единица измерения (1 пт равен 1/72 дюйма или 0,035 см).
ControlBox (Кнопка системного меню)принимает одно из двух стандартных значений, изменения которых допускается только на этапе разработки формы:
True - кнопка системного меню в левом верхнем углу окна;
False - кнопка отсутствует.
Enabled (Доступ) принимает одно из двух стандартных значений:
True - форма доступна (по умолчанию);
False - форма недоступна (блокирована от воздействия любых событий, связанных с мышью или клавиатурой).
Visible (Видимость), WindowsState (Состояние окна) определяют видимость формы на экране (True - видима, False - невидима) и отображение (0 - нормальное, 1 - свернутое в значок, 2 - развернутое).
Picture -вставка картинок в форму (фон).
События.
Наиболее часто используются следующие события:
Click (Щелчок) или DblClick (Двойной щелчок) мышью в любом месте формы вызывает процедуры обработки события Form_Click или Form_DblClick.
KeyPress (Нажатие клавиши)вызывает процедуру обработки события Form_KeyPress, на вход которой подается значение ASCII-кода нажатой клавиши.
Load (Загрузка) - событие происходит при загрузке формы (например, при запуске приложения) и удобна для инициализации свойств и переменных при запуске программы.
Методы
Cls очищает форму от всех изображений и текста. Синтаксис:
Имя формы.]Cls
Print выводит текст на форму и очень удобен для вывода на форму простой информации. Синтаксис: