Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Передача параметров с помощью ключевых слов ByVal и ByRef



Чтобы указать, что параметр передается процедуре по значению (by value) или по ссылке (by reference), в объявлении процедуры или функции перед параметрами можно размещать ключевые слова ByVal или ByRef.

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

При вызове по ссылке процедуре передается адрес параметра в памяти (адрес константы или переменной). При передаче параметра по ссылке вызванная функция или процедура получает возможность изменить само значение параметра. Если для параметра не указано ни одно из ключевых слов ByVal или ByRef, VBScript по умолчанию использует ByRef.

Иногда бывает необходимо предотвратить изменение фактических параметров при исполнении процедуры или функции. Для этого нужно объявить параметр как подлежащий передаче по значению (ByVal).

Пример: передача параметра по значению и по ссылке

Задача: проанализировать две программы, представленные ниже, и ответить на вопрос, какая из них является правильной.

Текст программы 1: option explicit dim a Sub nalog(ByVal a) a=a-(13*a)/100 MsgBox "Зарплата с вычетом”&_ “налога:"&a End Sub a=InputBox ("Введите вашу зарплату без”&_ “вычета налога: ","Окно ввода: ") nalog a MsgBox "Зарплата без вычета налога: "&a   Текст программы 2: option explicit dim a Sub nalog(ByRef a) a=a-(13*a)/100 MsgBox "Зарплата с вычетом”&_ “налога:"&a End Sub a=InputBox ("Введите вашу зарплату без”&_ “вычета налога: ","Окно ввода: ") nalog a MsgBox "Зарплата без вычета налога: "&a




Дата публикования: 2015-04-07; Прочитано: 208 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...