
- •Введение
- •Теория программирования
- •Основы программирования
- •Базовые понятия объектно-ориентированного программирования
- •Возможности vb
- •Описание языка
- •Синтаксис
- •Типы данных
- •Описание данных
- •Массивы
- •Выражения
- •Арифметические выражения
- •Выражения отношения
- •Логические выражения
- •Строки и символьные выражения
- •Операторы
- •Оператор присваивания
- •Конструкции управления
- •Оператор перехода
- •Условный оператор
- •Оператор варианта Select Case
- •Оператор цикла с параметром For…Next
- •Цикл Do…Loop
- •Процедуры и функции
- •Пользовательские процедуры
- •Пользовательские функции
- •Стандартные функции
- •Среда разработки vb
- •Элементы среды разработки
- •Проект в vb
- •Создание приложений в vb
- •Разработка пользовательского интерфейса приложения
- •Основные элементы управления Visual Basic
- •Свойства, методы и процедуры обработки событий
- •Общие свойства
- •Текстовое окно
- •Командная кнопка
- •Переключатель
- •Комбинированный список
- •Встроенные окна диалога
- •Разработка кода программы
- •Запуск программы на выполнение, ее отладка и тестирование
- •Пример программы с элементами управления для принятия решений
- •Постановка задачи
- •Реализация задачи средствами Visual Basic
- •Пример программы с использованием пользовательских функций и элемента комбинированный список
- •Постановка задачи
- •Программная реализация задачи
- •Дополнение к задаче для самостоятельной реализации
- •Варианты заданий для самостоятельного выполнения Вариант 1. Тема "vb".
- •Вариант 2. Тема "vb".
- •Вариант 3. Тема "vb".
- •Вариант 4. Тема "vb".
- •Вариант 5. Тема "vb".
- •Вариант 6. Тема "vb".
- •Литература
Комбинированный список
Управляющий элемент ComboBox (комбинированный список) объединяет текстовое окно (поле ввода) с обычным списком в один элемент управления. Комбинированный список не позволяет размещать элементы в несколько колонок.
Комбинированный список обладает уже рассмотренными выше свойствами: BackColor (цвет фона), Enabled (доступ), FontBold, FontItalic, FontName, FontSize, FontStrikethru, FontUnderline, ForeColor (основной цвет), Height (высота), Width (ширина), Name (имя), Top (верхняя координата), Left (левая координата), Visible (видимость), Sorted (сортировка).
Специфические свойства элемента следующие:
Style (тип) определяет тип комбинированного списка и принимает значения: 0 (раскрывающийся комбинированный список), 1 (простой комбинированный список), 2 (раскрывающийся список).
Раскрывающийся список вначале отображает одну строку со стрелкой справа. Щелчок мыши на стрелке открывает весь список, в котором можно выбрать один из элементов, как в обычном списке. Примером раскрывающегося списка является список Object в окне Properties. Не позволяет вводить информацию в текстовое окно.
Простой комбинированный список содержит поле для ввода и нераскрывающийся список под этим полем в окне постоянного размера. Позволяет либо вводить текст в поле, либо выбирать элемент из списка.
Раскрывающийся комбинированный список выглядит как раскрывающийся, но позволяет как выбирать элемент из списка, так и вводить текст.
Text определяет либо текст выделенного в списке элемента, либо текст поля ввода.
Комбинированный список реагирует на уже рассмотренные события Click (щелчок), DblClick (двойной щелчок), KeyPress (нажатие клавиши), GotFocus (установка фокуса), LostFocus (потеря фокуса), которые вызывают соответствующие процедуры обработки этих событий.
Методы:
AddItem включает элемент (строку текста) в комбинированный список. Синтаксис:
имя_списка.AddItem строка [, индекс].
Если индекс отсутствует, то элемент автоматически добавляется в конец комбинированного списка. Если значение свойства Sorted равно True, то индекс должен отсутствовать (элемент размещается в соответствии с алфавитным порядком).
Clear удаляет из списка все элементы. Синтаксис: имя_списка.Clear.
RemoveItem убирает из списка элемент с заданным номером (индексом). Синтаксис:
имя_списка.RemoveItem (индекс).
Встроенные окна диалога
VB предоставляет разработчику возможность создавать стандартные диалоговые окна с помощью встроенных функций InputBox и MsgBox.
Для ввода данных используется функция InputBox. Функция возвращает введенное значение. Значение преобразуется к типу выражения, в котором вызывается InputBox.
Синтаксис функции:
InputBox (prompt [, title] [, default] [, xpos] [, ypos]), где
prompt – комментарий к вводу информации;
title – текст заголовка окна;
default - значение по умолчанию для строки ввода;
xpos, ypos - координаты верхнего левого угла окна.
Пример. MyValue = InputBox ("Введите Х", "Заголовок", "0", 500, 300). Вид этого окна приведен на рис. 4.1.
Рис. 4.1. Пример окна InputBox
Функция MsgBox используется для вывода диалогового окна сообщения. Синтаксис ее применения следующий:
MsgBox сообщение [, тип окна] [, заголовок окна], где:
сообщение - текст сообщения;
заголовок окна - текст заголовка диалогового окна;
тип окна - это сумма значений констант, определяющих число и тип кнопок в диалоговом окне, стиль пиктограмм, используемых в окне, и др. спецификации. В таблице 4.1 приведены некоторые допустимые константы для типа окна, их значения и описание. В качестве значения аргумента может указываться сумма значений типа по одному из каждой группы.
Пример. MsgBox «Закончить?», 36, «Пример окна MsgBox».
В данном операторе значение аргумента 36 является суммой 32 и 4 (32 - вывод пиктограммы с вопросительным знаком, 4 - кнопки «Yes» и «No»). Вид этого окна приведен на рис 4.2.
Рис. 4.2. Пример окна MsgBox
Функция MsgBox в зависимости от нажатой кнопки из списка возможных отображаемых кнопок может возвращать значения, приведенные в таблице 4.2. Эти значения можно использовать для анализа результата работы пользователя с окном MsgBox.
Таблица 4.1.
Значения основных констант диалога MsgBox и их описание
Группа |
Значение типа |
Константа |
Описание |
1 |
0 |
vbOKOnly |
Выводить только кнопку ОК |
1 |
vbOKCancel |
Выводить кнопки ОК и Cancel |
|
2 |
vbAbortRetryIgnore |
Выводить кнопки Abort, Retry, Ignore |
|
3 |
vbYesNoCancel |
Выводить кнопки Yes, Nо, Саnсеl |
|
4 |
vbYesNo |
Выводить кнопки Yes, Nо |
|
5 |
vbRetryCancel |
Выводить кнопки Retry, Саnсеl |
|
2 |
16 |
vbCritical |
Выводить пиктограмму "Стоп" |
32 |
vbQuestion |
Выводить пиктограмму "?" |
|
48 |
vbExclamation |
Выводить пиктограмму "!" |
|
64 |
vbInformation |
Выводить пиктограмму информации |
|
3 |
0 |
vbDefaultButton1 |
Кнопка по умолчанию - первая |
256 |
vbDefaultButton2 |
Кнопка по умолчанию - вторая |
|
512 |
vbDefaultButton3 |
Кнопка по умолчанию - третья |
|
4 |
0 |
vbApplicationModal |
Программное ведущее диалоговое окно |
4096 |
vbSystemModal |
Системное ведущее диалоговое окно |
Таблица 4.2.
Константы, возвращаемые диалогом MsgBox
-
Константа
Значение
Выбираемая кнопка
VbOK
1
OK
VbCancel
2
Cancel
VbAbort
3
Abort
VbRetry
4
Retry
VbIgnore
5
Ignore
VbYes
6
Yes
VbNo
7
No
Ниже приводится полный текст программы (листинг) решения квадратного уравнения с использованием встроенных диалоговых окон (рис. 4.3).
'Решение квадратного уравнения'
Private Sub Form_Load()
Dim a, b, c, d, x1, x2 As Single
MsgBox "A*X^2 + B*X + C = 0"
a = InputBox("A = ")
b = InputBox("B = ")
c = InputBox("C = ")
If a = 0 Then
If b = 0 Then
MsgBox "Нет решений"
Else
x1 = -c / b
MsgBox "X = " + Str(x1)
End If
Else
d = b ^ 2 - 4 * a * c
If d < 0 Then
MsgBox "Нет решений"
Else
x1 = (-b + Sqr(d)) / 2
x2 = (-b - Sqr(d)) / 2
MsgBox "X1 = " + Str(x1) + " , X2 = " + Str(x2)
End If
End If
End Sub
Рис. 4.3. Листинг программы решения квадратного уравнения
Примеры программ с использованием элементов управления
Программа пересчета валюты
Описание задачи
Н
еобходимо
создать программу для пересчета заданной
суммы (в рублях) в валюту (доллары) по
текущему курсу. Программа должна
позволять пользователю вводить исходные
данные (такие как сумма в рублях и текущий
курс) и просматривать полученный
результат (см. рис.5.1).
Рис. 5.1. Окно программы пересчета валюты
Этапы создания и отладки программы
Первым пунктом при написании компьютерной программы является разработка общей структурной схемы программы, составление описания основных функций. В нашем простейшем примере эти функции уже содержатся в описании задачи.
Вид пользовательского интерфейса приведен на рис. 5.1. Приступим к его разработке.
Разработка пользовательского интерфейса приложения
Как уже было сказано выше, при разработке интерфейса для рассматриваемой программы должны быть предусмотрены средства для ввода исходных данных, инициирования вычислений, а также для вывода полученных результатов на экран. Воспользуемся тремя типами элементов:
TextBox (текстовое поле) предназначен для ввода и отображения текстовой информации.
Label (метка) используется для отображения различных сведений информационного характера, например, надписей, заголовков, названий полей. В отличие от TextBox пользователь не может изменить в нем отображаемую информацию во время выполнения проекта.
CommandButton (кнопка) используется для активизации различных действий программы по щелчку мыши в ее области.
Список необходимых элементов управления данной программы и нестандартные значения их свойств приведены в таблице 5.1.
Таблица 5.1.
Элементы управления программы пересчета валюты и значения их свойств
-
Элемент
Свойство
Значение
Форма
Caption
Пересчет рублей в валюту
Текстовое поле
для суммы в руб.
Name
TextR
Text
Enabled
True
Текстовое поле
для курса валюты
Name
TextK
Text
Enabled
True
Текстовое поле
для суммы в валюте
Name
TextV
Text
Enabled
False
Метка
для суммы в руб.
Name
LabelR
Caption
Сумма (руб.)
Метка
для курса валюты
Name
LabelK
Caption
Курс
Метка
для суммы в валюте
Name
LabelV
Caption
Сумма (в валюте)
Кнопка для вычисления
Name
CmdCalc
Caption
Вычислить
Кнопка для выхода
Name
CmdExit
Caption
Выход
Поместим в форму элемент TextBox (процедура помещения элементов описана в разделе 3.4).
После его помещения надо установить значения двух его свойств: Name и Text. Для этого надо обратиться к окну свойств [1]. Оно представлено двумя колонками. Первая колонка содержит названия свойств, вторая колонка – значения этих свойств. Свойство Name находится первым в списке. Это свидетельствует о его важности. За ним в алфавитном порядке следуют остальные свойства объекта. Кроме алфавитного порядка, свойства можно отсортировать по категориям, щелкнув по вкладке Categorized.
Свойство Name играет очень важную роль, потому что его значение используется в программе для идентификации элемента управления. Каждый элемент должен иметь уникальное имя, которое хранится в этом свойстве. Visual Basic автоматически назначает для каждого элемента стандартное имя. Использование таких стандартных имен является плохой практикой, они не расшифровывают назначение элемента. Поэтому для данного поля изменим значение свойства Name на TextR.
Теперь рассмотрим свойство Text текстового поля. В него помещается введенный пользователем текст. Кроме того, значение этого свойства отображается в текстовом поле. По умолчанию этому свойству назначается стандартное значение – имя элемента. В нашем случае мы должны очистить это свойство, чтобы при выполнении программы пользователь мог ввести туда свое значение.
Добавим в форму еще два текстовых поля с именами TextK, TextV. Значение свойства Text установим пустым, аналогично полю TextR. Это означает, что при запуске программы на выполнение поля TextR, TextK и TextV будут незаполненными, и значение в них должно быть введено пользователем при помощи клавиатуры.
Для добавления нескольких однотипных элементов можно выполнить щелчок по панели ToolBox при нажатой клавише Ctrl.
Для изменения положения элемента управления в форме надо просто его перетащить. Если во время перетаскивания сделать небольшую паузу, то рядом с указателем мыши появится желтое окошко, в котором будут находиться координаты текущего элемента относительно верхнего левого угла формы. Перемещать можно сразу группу элементов: для этого надо выделить их по очереди при нажатой клавише Ctrl. Есть и другой метод выбора нескольких элементов – метод охвата. Надо поместить указатель мыши в пустую часть формы, чуть выше и левее первого элемента, а затем протянуть мышь по диагонали в пустую часть формы, чуть ниже и правее последнего элемента.
Для изменения размеров элемента управления его надо сначала выбрать, а затем перетащить маркер размера.
Добавим подписи к текстовым полям, так как при работе с программой пользователь должен знать назначение полей формы. Введем рядом с каждым текстовым полем (слева от него) элемент Label (метка). Изменим для них значения свойств Name, Caption в соответствии со значениями, указанными в таблице 5.1.
Добавим в форму управляющие работой программы две кнопки (одна для вычислений, другая для выхода). После щелчка по кнопке программа будет выполнять некоторые действия. Изменим значения их свойств Name и Caption. Например, для кнопки выхода (завершения) из программы присвоим ее свойству Name значение cmdExit, а свойству Caption - значение «Выход».