- •Содержание
- •17.2.2. Свойства 130
- •17.6.2. Свойства 133
- •17.7.2. Свойства 134
- •18. Меню 139
- •Основные понятия ооп
- •Объекты
- •Классы объектов
- •Свойства
- •События
- •Три основных принципа ооп
- •Инкапсуляция
- •Наследование
- •Полиморфизм (имеющий много форм)
- •Визуальное проектирование интерфейса
- •Событийно-управляемое программирование
- •Процесс создания приложений
- •Интегрированная среда разработки (иср) visual basic
- •Общая организация программы в vb
- •Структура проекта vb
- •Структура событийной процедуры
- •Общее описание среды vb
- •Краткая характеристика элементов управления, используемых при создании простых приложений
- •Основные свойства, методы и события объектов vb
- •Основные элементы языка Vb
- •Типы данных
- •Переменные
- •Объявление переменных
- •Explicit-объявление
- •Константы
- •Выражения и операции
- •Стандартные подпрограммы
- •Математические функции vb
- •Функции преобразования данных vb
- •Операторы
- •Простые операторы
- •Оператор присваивания
- •Операторы вызова процедур
- •Оператор безусловного перехода
- •Системные диалоговые окна
- •Диалоговое окно ввода информации InputBox
- •InputBox(Приглашение,Заголовок,НачЗначение),
- •Окно сообщения MsgBox
- •Ввод и вывод данных в vb
- •Ввод данных
- •Вывод результатов
- •Функция Format
- •Структурные операторы
- •Условные операторы
- •Оператор выбора Select … Case
- •Операторы повтора
- •Циклы с параметром
- •Элемент управления Slider
- •Циклы с условием
- •Использование рекуррентной формулы для вычисления суммы ряда
- •Использование функции Timer
- •Подпрограммы пользователя
- •Пользовательские процедуры
- •Способ передачи аргументов
- •Функции пользователя
- •Массивы
- •Оператор Option Base
- •Динамические массивы
- •Функции lBound и uBound
- •Функция Rnd
- •Оператор Erase
- •Типовые задачи на обработку одномерных массивов
- •Формирование массива с помощью функции Split
- •Линейная сортировка массива
- •Уплотнение массива
- •Вставка элемента в массив
- •Изменение положения элементов на некотором отрезке
- •Кольцевой сдвиг элементов массива
- •Двумерные массивы
- •Ввод и вывод двумерных массивов
- •Формирование двумерного массива с помощью диалогового окна InputBox и функции Split
- •Вывод двумерного массива с помощью элемента управления msFlexGrid
- •Типовые задачи на обработку двумерных массивов
- •Преобразование двумерных массивов
- •Типовые задачи с квадратными матрицами
- •Массивы в качестве формальных параметров в процедурах и функциях пользователя
- •Данные строкового типа
- •Операции над строками
- •Функции, предназначенные для работы со строками
- •Функция Split
- •Функция Join
- •Оператор Mid
- •Типовые задачи на обработку строк
- •Анализ символьных строк
- •Изменение строк (замена, удаление, вставка символов)
- •Функции и операторы для работы с файлами
- •Открытие файлов
- •Закрытие файлов
- •Работа с файлами последовательного доступа
- •Чтение данных
- •Запись данных
- •Элемент управления CommonDialog
- •Графика в vb
- •Методы графики в vb
- •Задание цвета
- •Свойства объектов, влияющих на графические методы:
- •Применение метода Scale
- •Построение графика функции
- •Некоторые дополнительные элементы управления, которые часто используются в проектах.
- •Объект управления Shape (Фигура)
- •Свойства
- •Объект управления Timer
- •События
- •Свойства
- •Окна общего диалога
- •Создание меню
- •Свойства
- •Работа с несколькими формами
-
Структурные операторы
Структурные операторы представляют собой структуры, построенные из других операторов по строго определенным правилам. Все структурные операторы подразделяются на три группы: условные операторы, операторы выбора и операторы повтора (цикла).
-
Условные операторы
Операторы в программе-обработчике событий выполняются в той последовательности, в которой они записаны. Однако достаточно часто требуется изменить порядок выполнения операторов в зависимости от выполнения (или невыполнения) определенного условия.
Выбор одного из альтернативных путей работы программного кода в зависимости от результата проверки какого-либо условия (логического выражения) обеспечивают условные операторы. Условный оператор существует в двух формах: полной и сокращенной, и схематично может быть изображен следующим образом:
Сокращенная форма |
Полная форма |
Условный оператор в VB может иметь однострочную (простую) и многострочную (блочную) структуру. Однострочная структура имеет следующий синтаксис:
Сокращенная форма |
If Условие Then Оператор |
Полная форма |
If Условие Then Оператор_1 Else Оператор_2 |
Если Условие имеет значение True, то выполняется оператор после ключевого слова Then, а если оно имеет значение False, то выполняется оператор, следующий за ключевым словом Else, если таковой имеется.
Пример:
If a= 7 Then Beep
If x < 9 Then Print ”False!” Else Print ”True!”
Многострочная структура условного оператора имеет следующий синтаксис:
Сокращенная форма |
Полная форма |
If Условие Then Оператор_1 Оператор_2 . . . . . . End if |
If Условие Then Операторы для обработки истинного условия Else Операторы для обработки ложного условия End if |
Замечание. Ключевое слово End if обозначает конец многострочной конструкции.
Команда if может проверить только одно условие. Если необходимо осуществить переход управления в зависимости от результатов проверки нескольких условий, то их можно задать с помощью оператора Elseif. Оно будет анализироваться только в том случае, если предыдущее условие ложно. Например:
If x>0 Then
Label1.Caption=”Значение х положительно”
Elseif x=0 Then
Label1.Caption=”Значение х равно нулю”
Else
Label1.Caption=”Значение х отрицательно”
End If
Ниже приведен пример событийной процедуры решения квадратного уравнения ax2 + bx + c = 0 с использованием условного оператора.
Private Sub Command1_Click()
d=b*b – 4 * a * c
If d < 0 then
Print ”Уравнение не имеет корней”
Elseif d = 0 Then
x = -b / (2*a)
Print ”Уравнение имеет один корень”; x
Else
x1 = (-b + sqr(d)) / (2 * a)
x2 = (-b - sqr(d)) / (2 * a)
Print ”Уравнение имеет два корня ”; x1, x2
End If
End Sub
-
Оператор выбора Select … Case
Оператор выбора позволяет обрабатывать в программе несколько условий и аналогичен блоку конструкций if...Then...Else. Используется он для частичного облегчения программирования задач, в которых содержится большое число различных проверок. Его также удобно применять тогда, когда выполнение одного из многочисленных действий зависит от значения какой-либо переменной. Синтаксис оператора выбора Select … Case:
Select Case Выражение
Case Диапазон значений _1
Операторы, выполняемые при попадании Выражения в Диапазон значений _1
Case Диапазон значений _2
Операторы, выполняемые при попадании Выражения в Диапазон значений _2
. . .
Case Диапазон значений _N
Операторы, выполняемые при попадании Выражения в Диапазон значений _2
[Case Else
Операторы, выполняемые при непопадании ни в один из указанных диапазонов
End Select
Замечание 1. Квадратные скобки служат для обозначения необязательной части в структурах операторов.
Выражение – любое выражение, допустимое в языке VB.
После ключевого слова Case, которое повторяется столько раз, сколько различных действий может быть выполнено, записывается Диапазон значений этой переменной. При попадании значения переменной в этот диапазон выполняется действие, которое записано вслед за ним.
Диапазон значений можно задать простым перечислением их через запятую (Case 3,5,9), либо с помощью ключевого слова To(Case 1 To 9). Если в Диапазоне значений необходимо использовать операции отношения, то такой диапазон записывается с помощью ключевого слова Is.
Ниже приведены примеры событийных процедур с использованием оператора выбора.
Пример 2. Проанализировать случайное число, заданное в промежутке от 0 до 10.
Private Sub Command1_Click()
Randomize
a = Int(Rnd * 9) + 1 'Cлучайное число от 1 до 10
Select Case a
Case 1
Print "Равно 1"
Case 2, 3
Print "Равно 2 или 3"
Case 4 To 6
Print "Больше или равно 4 и меньше или равно 6"
Case Is >= 9
Print "Больше или равно 9"
Case Else
Print "Ни одно из предшествующих"
End Select
End Sub
Пример 1. Решение квадратного уравнения ax2 + bx + c = 0.
Вариант 1. Здесь Выражение имеет логический тип (d>=0):
Private Sub Command1_Click()
A=val(inputbox(”Задайте А”))
B=val(inputbox(”Задайте B”))
C=val(inputbox(”Задайте C”))
D=B^2-4*a*c
Select Сase d>=0 ' Выражение логического типа
Case True
Print ”x1=”;(-b-sqr(d))/(2*a),”x2=”;(-b+sqr(d))/(2*a)
Case False
Print ”Решений нет”
End Select
End Sub
Вариант 2. Здесь Выражение имеет вещественный тип, а в Диапазоне значений используются операции отношения:
Private Sub Command1_Click()
Select Case b * b - 4 * a * c 'Вещественный тип
Case Is < 0 'Используется операция отношения >
Print "Уравнение не имеет корней"
Case Is = 0
x = -b / (2 * a)
Print "Уравнение имеет один корень"; x
Case Else
X1 = (-b + Sqr(d)) / (2 * a)
X2 = (-b - Sqr(d)) / (2 * a)
Print "Уравнение имеет два корня "; X1, X2
End Select
End Sub