Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
За исключением объявления переменных, типов и т.п. в контейнере весь код программы VB состоит из процедур и функций.
В программе на языке VB можно использовать несколько видов процедур и функций. Вот некоторые из них: событийная процедура - обработчик события. Код этой процедуры выполняется автоматически, если с объектом происходит событие, с которым эта процедура связана; пользовательская процедура представляет собой часть программного кода, обладающую уникальным именем, благодаря которому она может быть вызвана и выполнена. Процедура не возвращает никакого значения в ту точку, откуда она была вызвана; Функция во всем подобна пользовательской процедуре, а главное ее отличие от процедуры состоит в том, что функция возвращает значение в ту точку, откуда она была вызвана. В VB имеется возможность выделить неоднократно повторяющиеся фрагменты программы в определенным образом организованные функциональные блоки инструкций, которые можно использовать без их повторного написания и отладки. При этом сложные программы получаются более компактными, а функциональные блоки при их правильной организации могут использоваться в других программных разработках. Организовать функциональные блоки в VB можно в виде процедур (Sub) и функции (Function). Схема, показанная ниже на рисунке 1, иллюстрирует последовательность выполнения программы, состоящей из процедур и функций. Очередность выполнения групп инструкций показана на этом рисунке цифрами в скобках.
Рис. 1. Иллюстрация порядка выполнения процедур и функций Выполнение программы может начаться только с событийной процедуры. В этой процедуре могут вызываться другие процедуры (процедура А) или функции. После вызова процедуры (функции) выполняются инструкции тела этой процедуры (функции). В свою очередь в вызванной процедуре могут быть обращения к другим процедурам или функциям (функция Б) и т.д. Прекращение выполнения вызванной процедуры или функции (возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с инструкции, следующей за инструкцией, в которой произошел вызов. Вызов процедур и функций Чтобы код функции или процедуры общего назначения был исполнен, она должна быть вызвана. Вызов процедуры осуществляется вставкой в программу строки, которая начинается с ее имени. Сразу после имени должны следовать разделенные запятой аргументы процедуры, если таковые предусмотрены. ИмяПроцедуры [Список значений аргументов] Другой способ вызова процедуры (оставлен для совместимости со старыми версиями VB) заключается в использовании ключевого слова Call, при этом за ним должно следовать имя процедуры и заключенный в скобки список аргументов. Call ИмяПроцедуры [(Список значений аргументов)] Функция возвращает значение, в остальном же ее вызов подобен вызову процедуры. X = A + ИмяФункции ([Список значений аргументов]) Чтобы функция могла вернуть значение, ее вызов должен фигурировать в какой-нибудь конструкции, использующей возвращаемое функцией значение (например, в качестве присваиваемой величины в операции присваивания, в качестве условия в конструкции If и т. п.). Объявление процедур и функций Процедура (функция) не может быть определена внутри какой-либо процедуры или функции. Для объявления процедуры используют следующий синтаксис: [Private/Public][Static] Sub ИмяПроцедуры _ [(Список аргументов)] [Инструкции] [Exit Sub] [Инструкции] End Sub Синтаксис объявления функции выглядит несколько иначе: [Private/Public][Static] Function ИмяФункции _ [(Список аргументов)] [As Тип] [Инструкции] [ИмяФункции = Выражение] [Exit Function] [Инструкции] [ИмяФункции = Выражение] End Function Пояснения синтаксиса: Public. Этим словом объявляют в стандартном модуле процедуру или функцию, которая должна быть доступна всем процедурам и функциям всех контейнеров проекта. В форме это слово применять нельзя. Private. В этом случае процедура или функция доступна только в пределах того контейнера, где она объявлена. Действует по умолчанию. Static. Все переменные, объявленные в в процедуре или функции станут статическими, то есть сохранят значения после завершения ее работы и выхода из нее. Exit Sub или Exit Function. Эти инструкции осуществляют досрочный выход из процедуры или соответственно функции. Синтаксис аргументов сам по себе является достаточно развитым: [Optional] [ByVal / ByRef] [ParamArray] _ ИмяАргумента [()] [As Тип][= ЗначениеПоУмолчанию] ИмяАргумента – это имя переменной, массива, элемента управления или формы (в последних двух случаях тип принимает значения Control и Form). В случае массива после имени массива ставится пара скобок ( ), внутри которых не указываются границы значений индексов, что позволяет использовать одну процедуру (функцию) для разного числа элементов массива в каждом конкретном случае. Тип может быть Byte, Boolean, Integer, Long, Currency, Single, Double, Date, String (только переменной длины), Variant, пользовательский тип или Control и Form. Список аргументов определяет связь по данным между вызывающей процедурой (процедура, из которой происходит вызов) и вызываемой процедурой. Пример объявления процедуры вычисления площади прямоугольника по заданным значениям сторон: Sub D (Длина As Single, Высота As Single, _ Площадь As Single) Площадь = Длина * Ширина End Sub Пример обращения к процедуре: D w1, h1, s1 D w2, h2, s2 s = s1 + s2 Пример объявления функции вычисления площади прямоугольника по заданным значениям сторон: Function Df (Длина As Single, _ Высота As Single) As Single Df = Длина * Ширина End Function Пример обращения к функции: s = Df(w1, h1) + Df(w2, h2) Пример процедуры формирования вектора из сумм элементов столбцов матрицы: Sub MatrVektor (A() As Single, B() As Single, _
Популярное:
|
Последнее изменение этой страницы: 2016-08-31; Просмотров: 585; Нарушение авторского права страницы