- •Содержание
- •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 их тип в заголовке процедур или функций можно объявить как Variant, или вообще не указывать, т.к. этот тип итак принимается по умолчанию.
Пример. Вычислить
Фрагмент программного кода:
Option Explicit 'Включение режима, при котором запрещается использовать
'необъявленные переменные
Dim x() As Integer 'Описание динамического массива a
Dim y() As Integer 'Описание динамического массива b
Dim n As Integer
'Процедура заполнения массива m0, m1, …,mn-1 случайными числами из промежутка [a,b].
'Формальные параметры: промежуток [а,b], n – количество элементов массива,
'm - массив
Private Sub Vd(a As Integer,b As Integer,n As Integer, m)
Dim i As Integer
Randomize
Text2.Text = "" 'Очистка текстового окна Text2
For i = 0 To n – 1 'Перебор элементов
' Заполнение массива случайными числами из промежутка[a,b]
m(i) = Int((b - a + 1) * Rnd + a)
'Вывод элементов массива в текстовое поле Text2
Text2.Text = Text2.Text + " " + Str(m(i))
Next i
End Sub
'Функция вычисления суммы n элементов массива m.
'Формальные параметры: n – количество элементов массива,m - массив
Private Function Sum(n As Integer, m) As Integer
Dim i As Integer
Sum = 0
For i = 0 To n - 1
Sum = Sum + m(i)
Next i
End Function
Private Sub Command1_Click()
Dim i As Integer
n = Val(Text1.Text) 'Количество элементов массивов
ReDim a(n) 'Задание количества элементов массива a
ReDim b(n) ' Задание количества элементов массива b
'Обращение к процедуре. Фактические параметры: промежуток [-10,10], n – количество 'элементов массива, x - массив
Vd -10, 10, n, x
Vd -5, 5, n, y
'Вычисление значения результата. Sum(n, a) – обращение к функции. Фактические 'параметры: n – количество 'элементов массива, a - массив
Text3.Text = Str(Sum(n, x)* Sum(n, y) / (Sum(n, x)+
Sum(n, y)))
End Sub
Здесь дважды вызывается процедура
Vd(a As Integer,b As Integer,n As Integer, x)
заполнения массива случайными числами. Первый раз в нее передаются фактические значения для формальных параметров a, b и n соответственно равные –10, 10, n, при этом результат сохраняется как значение переменной массива x. Во второй раз передаются значения параметров –5, 5, n, а результат сохраняется как значение переменной массива y. Функция Sum(n As Integer, x) As Integer вызывается в операторе присваивания при вычислении искомого значения S.
-
Данные строкового типа
В реальных задачах часто встречаются объекты символьного типа – строки. Строка трактуется как последовательность символов. В состав строки могут входить буквы латинского алфавита, кириллица, цифры, всевозможные знаки, скобки, пробел и др. Каждый символ строки занимает 1 байт памяти (десятичный код от 0 до 255, зафиксированный в кодовой таблице ASCII).
Фрагмент таблицы символьной кодировки ASCII
Количество символов в строке называется ее длиной. Пустая строка имеет нулевую длину.
Строковая константа – последовательность символов, заключенных в двойные кавычки. Например:
”Это строковая константа”, ”123”.
Таким образом, при использовании в выражениях строка обязательно заключается в кавычки.
Два следующих друг за другом апострофа (””), обозначают пустую строку, т.е. строку с нулевой длиной.
Различают строки переменной и фиксированной длины. Строки переменной длины могут иметь длину до 2 Гбайт. Когда такой переменной присваивается значение, то размер переменной изменяется так, чтобы он соответствовал длине присвоенного строкового значения. Строка фиксированной длины – это строка постоянного размера, указанного при объявлении переменной. Если такой строке присваивается более длинное значение, то лишние символы отбрасываются, а если более короткое значение, то оставшееся справа место заполняется пробелами. Строковые переменные фиксированной длины должны объявляться явно.
Формат описания строковой переменой переменной длины:
Dim Имя_строки As String |
Формат описания строковой переменой фиксированной длины:
-
Dim Имя_строки As String*Длина строки
Например: Dim Name As String*20
Dim St As string