Спонсор: Microsoft
Опубликован: 04.07.2006 | Доступ: свободный | Студентов: 5459 / 625 | Оценка: 4.11 / 3.96 | Длительность: 11:08:00
Лекция 2:

Управление ходом выполнения программ. Примеры типовых алгоритмов

Процедуры

Процедура есть последовательность инструкций, объединeнных для выполнения. Различают процедуры обработки событий и процедуры общего назначения: процедуры Sub, Function, Property, Event.

Для создания процедуры общего назначения нужно использовать область окна кода ( General ) ( Declarations ) \to меню Инструменты \to Добавить процедуру \to в поле выведенного диалогового окна ввести имя процедуры \to в поле Тип сделать щелчок на Sub \to сделать выбор в поле Район \to ОК \to выводятся инструкции описания процедур.

Процедуры обработки событий (закрытые процедуры) являются процедурами типа Private; их можно вызвать только внутри формы. Процедуры являются общими (открытыми), если они могут быть вызваны процедурами другой формы/модуля; используется ключевое слово Public. Общая процедура должна содержаться в модуле.

Вызов процедуры из другой процедуры можно выполнить одним из следующих способов:

  • использование имени процедуры, пример:
    If kkKK > 70 Then
    Proc1
    End If
  • использование вызова Call, пример:
    Call Proc1
  • если при обращении к процедуре требуются значения аргументов, то вызов может выглядеть так:

    Proc1 44, 56 ' два числа - это передаваемые аргументы,

    или: Call Proc1(44, 56)

Список аргументов процедуры, при необходимости с указанием типа, размещают в скобках в строке имени процедуры, при этом в процедурах обработки событий список аргументов определeн событием и не может быть изменeн пользователем.

При программировании необходимо контролировать передачу аргументов.

Передача аргументов типа значение (хранятся в стеке; пример - тип Integer, Single ) и ссылочного типа (хранятся в динамически распределяемой памяти; пример - Object, массив) между вызывающей и вызываемой процедурой может вызывать модификацию данных.

Передача аргументов может проводиться: по значению - ByVal ( в этом случае процедуре передаeтся копия этого значения) и по ссылке - ByRef (в этом случае вызванная процедура получает адрес памяти передаваемой переменной).

Инструкция в процедуре Sub/Function может передавать значения вызываемой процедуре, при этом могут использоваться именованные аргументы, которые можно перечислять в произвольном порядке. Именованный аргумент состоит из:

  • имени аргумента,
  • символов : = ,
  • значения аргумента, пример:
    Private Sub Command1_Click()
    Dim x1 As Variant
    MsgBox Title:="отпуск", Prompt:="Едем в отпуск в Испанию" 
    или
    x1 = MsgBox(Title:="отпуск", _
    Prompt:=" Едем в отпуск в Испанию", Buttons:=4)
    End Sub

Процедура Function

Особенностью процедур Function является то, что результатом их работы является возвращаемое значение. При создании процедуры Function используется инструкция Function и в конце - инструкция End Function. Функция может получать аргументы, передаваемые ей вызывающей процедурой. Если аргументов нет, то скобки пусты. При использовании аргумента должен указываться соответствующий тип данных. За скобками указывается тип возвращаемого значения.

Вызов функции реализуется в соответствии с синтаксисом:

Возвращаемое_значение = Имя_функци(Аргумент_1, : Аргумент_к); пример:
х1 = Func1(20, 30)

Здесь вызывается функция Func1, в передаются значения 20, 30. Возвращаемое значение присваивается переменной х1.

антонина квасова
антонина квасова
Владимир Муратов
Владимир Муратов

По курсу Visual Basic где же взять материалы для практических работ? 

Светлана Ведяева
Светлана Ведяева
Россия, Саратов
Оксана Пагина
Оксана Пагина
Россия, Москва