Название: Visual Basic для новичков. Шаг за шагом. Самоучитель/справочник
Автор: Евгений Матвеев
Издательство: Издательские решения
Жанр: Компьютеры: прочее
isbn: 9785448304002
isbn:
Private Function GetValue ()
[инструкции]
GetValue = 3
[инструкции]
End Function
В языке Visual Basic определено большое количество встроенных функций, которые могут вызываться, но их внутреннее содержимое скрыто от программиста. Чтобы получить возвращаемое значение функции, указывают ее имя.
В данном примере производится преобразование числа в текстовую строку с помощью функции Str и запись ее в переменную strTemp:
Dim strTemp As String
strTemp = Str (-19.436)
Если возвращаемое значение не требуется, можно вызвать функцию так же, как и процедуру Sub. Следует опустить скобки и указать список аргументов. Например, следующая строка выводит сообщение с текущей датой и временем:
MsgBox Now ()
Здесь используются сразу две встроенные функции языка Visual Basic. MsgBox не возвращает никакого значения, а только выводит окно сообщения. Функция Now используется в качестве аргумента, возвращая дату и время.
6.4. Особенности передачи аргументов
При вызове процедур типа Sub (Подпрограмма) или Function (Функция) возможно использование двух способов передачи фактических значений аргументов:
• по ссылке (ByRef),
• по значению (ByVal).
По умолчанию параметры передаются в виде ссылок, что дает возможность процедурам изменять их значения. Если необходимо предотвратить возможные изменения аргументов процедуры, следует осуществлять их передачу по значению, для чего при объявлении процедуры перед аргументом использовать ключевое слово ByVal, например:
Sub Proc2 (ByVal Arg1)
End Sub
Кроме параметров, которые должны быть непременно указаны при вызове процедуры, встречаются и необязательные параметры. Для их обозначения при объявлении применяется ключевое слово Optional (Необязательный):
Sub Proc3 (Arg1, Optional Arg2)
End Sub
При вызове процедуры с аргументом Optional (Необязательный) можно как указывать, так и не указывать необязательный аргумент. Если аргумент не указан, то для него используется имеющееся значение по умолчанию. Если по умолчанию значение не присвоено, аргумент обрабатывается так же, как любая другая переменная соответствующего типа.
В данном случае, правильными будут оба варианта записи вызова этой процедуры:
Proc3 10, 15
Proc3 10
Обычный синтаксис вызова процедур предусматривает позиционную передачу аргументов, то есть в порядке их следования в описании процедуры. Также, возможен вызов процедур с именованными аргументами, которые могут передаваться в любом порядке.
Каждый именованный аргумент состоит из имени, за которым следует двоеточие со знаком равенства (:=) и значение аргумента.
Например, следующие три вызова процедуры Proc3 абсолютно равноценны между собой:
Proc3 СКАЧАТЬ