- •Содержание
- •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
- •События
- •Свойства
- •Окна общего диалога
- •Создание меню
- •Свойства
- •Работа с несколькими формами
-
Оператор Option Base
Начальный индекс при описании массива можно задать используя, оператор Option Base. Синтаксис этого оператора:
Option Base 0 1 .
Оператор Option Base помещается в область объявлений перед объявлением любых переменных, констант или процедур. В программе можно написать только один оператор Option Base, он будет влиять на описание всех массивов, объявляемых в программе, независимо от того, являются они локальными в процедуре или объявлены глобально.
При использовании оператора Option Base нижний диапазон в операторе Dim не указывается:
-
Динамические массивы
Динамические массивы отличаются от обычных статических тем, что для них не объявляется заранее длина массива. Объявление такого массива содержит только имя и тип элементов.
Dim Имя_массива() As Тип_данных .
Количество элементов динамического массива может меняться по ходу выполнения программы. При объявлении динамического массива место под него не отводится. Прежде чем использовать такой массив, надо задать в программе его размер процедурой Redim:
ReDim Имя_массива(Кол-во эл-ов по каждой размерности)
Параметры данной процедуры - количество элементов по каждой размерности. Например, Redim А(10,20) - для двумерного массива A. После этого оператора к элементам динамического массива можно обращаться также как к статическому.
-
Функции lBound и uBound
Для контроля за размерами массивов переменной размерности в VB есть две функции LBound и UBound, которые возвращают нижнее и верхнее граничные значения индексов соответственно:
Lbound(Имя_массива [,Номер индекса])
Ubound(Имя_массива [,Номер индекса])
Функция Lbound возвращает левую границу изменения индекса массива, Ubound возвращает верхнюю границу изменения индекса массива. Аргумент Номер индекса представляет целое число, определяющее измерение массива, для которого необходимо получить нижний или верхний предел. Если аргумент опущен, возвращается предел для первого измерения массива, например:
Фрагмент программы |
Результат |
Dim A(3 To 9) As String For I = Lbound(A) To Ubound(A) A(I) = 0 Next I |
Очистка одномерного массива А |
Dim a_m(1 To 365, 2000 To 2004) For i= Lbound(a_m, 1) To Ubound(a_m, 1) For j = LBound(a_m, 2) To Ubound(a_m, 2) a_m(i,j) = Rnd Next j Next i |
Заполнение двумерного массива a_m случайными числами |
-
Функция Rnd
При отладке процедур на обработку массивов очень удобно использовать датчик случайных чисел Rnd для заполнения массивов.
Функция Rnd возвращает, случайное число меньшее 1 и большее или равное нулю типа Single.
Если необходимо получить целое случайное число в диапазоне [a, b] следует использовать формулу:
Int((b-a +1) * Rnd +a).
Перед вызовом функции необходимо написать оператор Randomize без аргументов для инициализации генератора случайных чисел.
-
Оператор Erase
Оператор Erase позволяет очищать все элементы массива в случае массивов с фиксированным размером.
В случае динамических массивов оператор Erase позволяет полностью очистить массив и его содержимое из оперативной памяти.
Синтаксис оператора:
Erase a1[, a2, …],
т.е. за один раз можно очистить (удалить) несколько массивов.