ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 09.04.2021
Просмотров: 1488
Скачиваний: 2
41
Простой
массив
имеет
одно
измерение
.
Например
,
массив
,
содержа
-
щий
список
студентов
в
группе
.
Примером
трехмерного
массива
может
служить
сведения
об
объеме
продаж
по
региону
,
за
месяц
,
за
год
.
Можно
иметь
в
массиве
до
60
измерений
.
Однако
в
реальной
жизни
очень
редко
встречается
использование
размерности
выше
5
или
6.
Размерность
массива
–
это
количество
индексов
,
которые
опреде
-
ляют
местоположение
элемента
в
массиве
.
В
VB
существуют
массивы
фиксированного
размера
и
динамические
массивы
.
Массив
фиксированного
размера
имеет
неизменный
размер
,
за
-
данный
при
его
объявлении
.
Объявление
массива
фиксированного
размера
.
Объявление
мас
-
сива
фиксированного
размера
зависит
от
области
его
видимости
и
осуще
-
ствляется
следующим
образом
:
•
глобальный
массив
объявляется
с
помощью
оператора
Public
в
секции
Declaration
модуля
;
•
массив
уровня
модуля
–
с
помощью
оператора
Private
или
Dim
в
секции
Declaration
модуля
;
•
локальный
массив
–
с
помощью
оператора
Private
или
Dim
процедуры
.
Наиболее
часто
для
объявления
массива
используется
оператор
Dim.
Обычно
индексы
массива
начинаются
с
нуля
.
Границы
массива
все
-
гда
должны
быть
целыми
числами
.
Синтаксис
оператора
Dim:
Dim
имяМассива
(
размерМассива
) [As
типМассива
]
Объявление
массива
зависит
от
области
его
видимости
.
Объявление
динамического
массива
.
Если
размер
массива
заранее
неизвестен
, Visual Basic
позволяет
использовать
динамические
массивы
,
размер
которых
можно
изменять
в
процессе
выполнения
программы
.
При
-
менение
динамических
массивов
позволяет
эффективно
управлять
памя
-
тью
,
выделяя
память
под
большой
массив
лишь
на
то
время
,
когда
этот
массив
используется
,
а
затем
освобождая
ее
.
Создание
динамического
массива
осуществляется
следующим
обра
-
зом
:
1.
Массив
объявляется
с
помощью
ключевых
слов
,
используемых
при
создании
массива
фиксированного
размера
.
Список
размер
-
ностей
массива
остается
пустым
.
При
объявлении
глобального
массива
необходимо
выбрать
ключевое
слово
Public,
при
объяв
-
лении
массива
на
уровне
модуля
– Dim,
при
объявлении
массива
в
процедуре
- Dim
или
Static.
Например
,
Dim intCountPar () As Integer
42
2.
С
помощью
выполняемого
оператора
Redim
указывается
размер
-
ность
массива
и
его
размер
в
виде
числа
или
выражения
.
Синтак
-
сис
этого
оператора
аналогичен
синтаксису
оператора
объявления
массива
фиксированного
размера
.
Например
,
ReDim intCountPar (1 To 20)
При
выполнении
оператора
ReDim
данные
,
ранее
размещенные
в
массиве
,
теряются
.
Это
удобно
в
том
случае
,
если
данные
больше
не
нуж
-
ны
и
надо
переопределить
размер
массива
,
подготовив
его
для
размещения
новых
данных
.
Если
нужно
изменить
размер
массива
,
не
потеряв
при
этом
данных
,
то
необходимо
воспользоваться
оператором
ReDim
с
ключевым
словом
Preserve.
Например
,
ReDim Preserve intCountPar (X+1)
8.4.
Оформление
программных
кодов
Чтобы
программа
была
читабельной
,
в
текст
кода
можно
включить
комментарии
,
а
операторы
большой
длины
разместить
на
нескольких
стро
-
ках
.
Рассмотрим
приемы
оформления
программных
кодов
:
•
Для
включения
в
текст
программы
комментария
необходимо
вве
-
сти
символ
(
‘
),
который
может
быть
первым
символом
в
строке
или
находиться
в
любом
ее
месте
.
Этот
символ
означает
начало
комментария
,
и
все
символы
,
находящиеся
за
ним
, Visual Basic
не
будет
транслировать
.
•
Если
оператор
имеет
большую
длину
,
его
можно
разбить
на
не
-
сколько
строк
,
используя
символы
продолжения
строки
:
пробел
,
за
которым
следует
символ
подчеркивания
(
_
).
•
Как
правило
,
при
написании
программ
операторы
размещают
на
отдельной
строке
.
Если
операторы
имеют
небольшую
длину
и
яв
-
ляются
однотипными
, Visual Basic
позволяет
их
поместить
на
од
-
ной
строке
,
разделив
символом
двоеточие
(
:
).
8.5.
Программные
модули
Программы
VB
хранятся
в
программных
модулях
трех
видов
:
модуль
формы
;
стандартный
модуль
;
модуль
класса
.
Простое
приложение
,
состоящее
из
одной
формы
,
содержит
,
как
правило
,
только
модуль
формы
.
Если
в
процессе
создания
приложения
в
нескольких
модулях
формы
содержатся
повторяющиеся
функции
,
то
их
можно
выделить
в
отдельный
программный
код
,
который
будет
являться
общим
для
этих
модулей
.
Такой
программный
код
называется
стандарт
-
ным
модулем
.
43
Для
разработки
модулей
классов
используются
команды
меню
Pro-
ject
:
•
Add Class Module
(
Добавить
модуль
класса
);
•
Add User Control
(
Добавить
пользовательский
элемент
управления
).
Модули
формы
могут
содержать
объявления
переменных
,
констант
,
типов
данных
,
внешних
процедур
,
используемых
на
уровне
модуля
,
про
-
цедур
обработки
событий
.
Они
хранятся
в
файлах
с
расширением
(
.frm
).
Стандартные
модули
могут
содержать
объявления
глобальных
и
ло
-
кальных
переменных
,
констант
,
типов
,
внешних
процедур
и
процедур
об
-
щего
характера
доступных
для
других
модулей
данного
приложения
.
Они
хранятся
в
файлах
с
расширением
(
.bas
).
Модули
классов
.
Рассматривая
VB
с
позиций
объектно
-
ориен
-
тированного
и
визуального
программирования
,
можно
говорить
о
создании
новых
объектов
с
разработанными
для
них
свойствами
и
методами
,
поме
-
щая
их
в
модули
классов
в
файлах
с
расширением
(
.cls
).
8.6.
Редактирование
исходных
кодов
Для
создания
программных
кодов
используется
редактор
кода
,
окно
которого
открывается
одной
команд
:
•
Выполнить
команду
View / Code
•
Из
контекстного
меню
выполнить
команду
View Code
.
Для
каждого
модуля
создается
отдельное
окно
кода
,
разделенное
внутри
на
секции
.
Выбор
секции
осуществляется
с
помощью
списка
Object
,
расположенного
слева
в
верхней
части
окна
.
Для
стандартного
модуля
этот
список
содержит
общую
секцию
Gen-
eral
.
В
модуле
класса
в
этот
список
включены
общая
секция
и
секция
клас
-
сов
.
В
модуле
формы
список
Object
содержит
общую
секцию
,
секцию
для
формы
(
Form
) ,
а
также
секции
для
всех
размещённых
на
форме
объектов
.
Для
каждой
выбранной
секции
можно
создать
процедуру
,
выбрав
ее
из
списка
Procedure
в
правом
верхнем
углу
окна
редактора
кода
,
содержа
-
щего
события
.
Для
элемента
списка
General
из
списка
Object
есть
только
одно
зна
-
чение
Declarations
(
Объявления
)
в
списке
Procedure
.
8.7.
Процедуры
Процедуры
позволяют
разбивать
программные
модули
на
небольшие
логические
блоки
.
В
Visual Basic
существуют
следующие
виды
процедур
:
•
Sub
•
Function
Процедуры
Sub
.
Процедура
Sub
не
возвращает
значения
и
наиболее
часто
используется
для
обработки
связанного
с
ней
события
.
Ее
можно
44
помещать
в
стандартные
модули
,
модули
классов
и
форм
.
Она
имеет
сле
-
дующий
синтаксис
:
[Private] [Public] [Static] Sub
имяПроцедуры
(
аргументы
)
Операторы
программного
кода
End Sub
Процедуры
Sub
подразделяются
на
общие
процедуры
и
процедуры
событий
.
Общие
процедуры
служат
для
размещения
повторяющихся
опе
-
раторов
,
используемых
процедурами
по
обработке
событий
,
тем
самым
,
разгружая
их
и
исключая
дублирование
часто
встречающихся
кодов
,
что
в
свою
очередь
облегчает
поддержку
приложения
.
Процедуры
обработки
событий
связаны
с
объектами
,
размещенны
-
ми
в
формах
Visual Basic,
или
с
самой
формой
и
выполняются
при
наступ
-
лении
события
,
с
которыми
они
связаны
.
Для
события
,
связанного
с
фор
-
мой
,
процедура
Sub
имеет
следующий
синтаксис
:
Private Sub Form_
имяСобытия
(
аргументы
)
Операторы
End Sub
Для
события
,
связанного
с
элементом
управления
формы
,
процедура
обработки
событий
Sub
имеет
следующий
синтаксис
:
Private Sub
имяЭлементаУправления
_
имяСобытия
(
аргументы
)
операторы
End Sub
Для
облегчения
формирования
имен
создаваемых
процедур
необхо
-
димо
выполнить
следующие
действия
:
1.
В
окне
Properties
с
помощью
свойства
Name
(
Имя
)
задать
имя
объекта
,
для
которого
создается
процедура
.
2.
В
окне
редактора
кода
из
списка
Object
(
Объект
)
выбрать
объект
,
для
которого
создается
процедура
.
3.
Из
списка
Procedure
(
Процедура
)
выбрать
событие
,
обработка
ко
-
торого
будет
выполняться
.
4.
Между
операторами
Sub
и
End Sub
разместить
выполняемый
при
наступлении
этого
события
программный
код
.
Процедуры
Function
.
Процедуры
Function
в
отличие
от
процедур
Sub
могут
возвращать
значение
в
вызывающую
процедуру
.
Синтаксис
процедуры
Function
выглядит
следующим
образом
:
[Private] [Public] [Static] Function
имяПроцедуры
(
аргументы
) [As type]
операторы
End Function
Процедуры
Function,
как
и
переменные
,
имеют
тип
,
задаваемый
с
помощью
ключевого
слова
As.
П
о
умолчанию
процедуре
присваивается
45
тип
Variant.
Тип
процедуры
определяет
в
свою
очередь
тип
возвращаемого
ею
значения
.
Возвращаемое
процедурой
значение
присваивается
имени
процедуры
имяПроцедуры
и
может
быть
использовано
в
выражениях
про
-
граммного
кода
аналогично
стандартным
функциям
Visual Basic.
Вызов
процедур
.
Процедура
Sub
может
изменять
значения
перемен
-
ных
,
заданных
для
нее
в
качестве
параметров
.
Вызов
процедуры
можно
осуществлять
двумя
способами
:
•
Call NameProc (
аргумент
1,
аргумент
2,. . .
аргумент
N)
•
NameProc
аргумент
1,
аргумент
2 . . .
аргумент
N
При
вызове
процедуры
модуля
формы
из
другого
модуля
необходи
-
мо
указывать
ссылку
на
имя
модуля
формы
,
содержащего
процедуру
.
Например
,
для
вызова
процедуры
с
именем
NameProc,
находящегося
в
модуле
формы
Form1,
оператор
должен
выглядеть
так
:
Call Form1.NameProc (
аргумент
1,
аргумент
2, . . .
аргумент
N)
Вызов
процедуры
Function
аналогичен
вызову
встроенных
функций
Visual Basic
.
Кроме
этого
,
процедуру
Function
можно
вызывать
так
же
,
как
процедуру
Sub.
9.
Управляющие
структуры
Все
языки
программирования
(
высокого
уровня
и
ассемблерные
)
имеют
управляющие
структуры
,
позволяющие
изменять
порядок
выполне
-
ния
,
перечисленных
в
программном
коде
процедуры
или
функции
,
команд
.
Управляющие
структуры
VB
функционально
эквивалентны
подобным
структурам
в
языке
программирования
Бейсик
,
за
исключение
For-Each-
Next.
Ниже
перечислены
основные
управляющие
структуры
VB.
If-Then-Else
Выполняет
группу
операторов
,
если
соблюдено
не
-
которое
условие
Select Case
В
зависимости
от
значения
некоторой
переменной
или
результата
проверки
условия
выполняет
одну
из
нескольких
возможных
групп
операторов
GoTo
Выполняет
изменение
порядка
выполнения
опера
-
торов
без
проверки
какого
-
либо
условия
For-Next
Выполняет
группу
операторов
заданное
число
раз
,
известное
до
начала
выполнения
цикла
While-Wend
Выполняет
группу
операторов
,
пока
соблюдается
некоторое
условие
Do-Loop
Выполняет
группу
операторов
,
пока
соблюдается
или
не
соблюдается
некоторое
условие