Меню
Главная
Авторизация/Регистрация
 
Главная arrow Менеджмент arrow ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ В МЕНЕДЖМЕНТЕ
Посмотреть оригинал

Передача параметров в процедуры

В процедурах событий набор параметров зависит от события и не может быть изменен разработчиком. В общих процедурах количество и порядок используемых параметров определяется разработчиком. Для каждого параметра указывается и его тип.

В Visual Basic параметры могут передаваться двумя способами: либо как ссылки (ByRef), либо как значение (ByVal).

Если параметр передается как ссылка, то вызванная процедура получает физический адрес памяти переданной переменной. При таком способе передачи можно изменять значение этого параметра. Так как вызываемая и вызывающая процедуры обращаются к одной и той же области памяти, значение переменной для них идентично.

По умолчанию параметры в Visual Basic передаются по ссылке, но можно указывать явно ключевое слово ByRef перед параметром в заголовке процедуры:

Sub prl (ByRef n As String)

При передаче параметра по значению Visual Basic передает копию содержимого переменной вместо ее адреса в памяти, и функция или процедура не сможет напрямую модифицировать исходное значение. Ключевое слово BvVal перед параметром должно указываться обязательно:

Function fkl (ByVal k As String) As Boolean

Visual Basic позволяет использовать в процедурах именованные параметры и создавать процедуры, в списке которых могут присутствовать необязательные параметры.

Именованные параметры. Использование именованных параметров позволяет передавать часть или все параметры в любом порядке. При вызове процедуры следует именовать параметры следующим образом:

имя параметра:=значение

Пример

Private Sub Summa (а, b, с)

с=а+Ь

End Sub

Private Sub Commandl_Click () X=Val (InputBox ("Первое число") Y=Val (InputBox ("Второе число") Summa c:=S, b:=x, a:=y Print S End Sub

При вызове процедуры можно передавать как неименованные, так и именованные параметры. Однако при этом как только в списке появился именованный параметр, все следующие за ним параметры также должны быть именованными.

Необязательные параметры. Параметры процедуры могут быть объявлены как необязательные. Необязательным является параметр, значение которого может не задаваться при вызове процедуры. Для того чтобы параметр стал необязательным, перед его именем ставится ключевое слово Optional. Все последующие параметры после первого необязательного параметра также должны быть необязательными.

Пример

Sub Pr (a, Optional b)

If IsMissing (b) Then

Print a, b

Else

Print a

Endlf

End Sub

Private Sub Commandl_Click ()

Pr 1 Pr 1,2 End Sub

В примере показаны два варианта вызова процедуры Рг. В процедуре Рг функция IsMissing проверяет, передан или нет аргумент тина Variant.

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Предыдущая   СОДЕРЖАНИЕ   Следующая >
 
Популярные страницы