double arrow

Пример передачи переменной по ссылке

Передача данных при вызове подпрограммы

End Sub

End Sub

End If

End Sub

End Sub

Примеры функций для работы с массивами

End Sub

Option Base 1

Использование массива

Пример использования массива типа Integer:

_________________________________________

Sub UsingArray()

Dim Vals(3) As Integer

Vals(1)=Int(100*Rnd())

Vals(2)=Int(100*Rnd())

Vals(3)=Int(100*Rnd())

MsgBox "Lottery numbers: " & Vals(1) & ", " & Vals(2) & "," & Vals(3)

Имеются ряд специальных функций для работы с массивами.

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

Пример:

Sub CreateArray()

DataCA=Array("Kate",43,#4/15/1962#)

MsgBox DataCA(0) & ",age" & DataCA(1) & ", born " & DataCA(2)

2. Функция Erase – используется для удаления данных, хранимых в элементах массива. Если массив фиксированного размера – очищается содержимое массива, а память, выделенная массиву, остается за ним.

Пример:

Option Base 1

_________________________________________

Sub EraseArray()

Dim EA(2) As Integer

EA(1) = Int(100 * Rnd())

EA(2) = Int(100 * Rnd())

MsgBox "Lottery numbers: " & EA(1) & " ," & EA(2)

Erase EA

MsgBox "Lottery numbers: " & EA(1) & " ," & EA(2)

3. Функция IsArray – позволяет проверить, является ли переменная массивом. Функция имеет один аргумент и возвращает True, если переменная является массивом, и False, если переменная не массив. Функция полезна, если необходимо проверить, возвращает ли вызываемая функция массив или обычную переменную.

Пример:

Sub IsArrayFunction()

Dim Arr(2) As Integer

Dim ArrayBool As Boolean

ArrayBool = IsArray(Arr)

If ArrayBool = True Then

MsgBox "Arr is an array."

4. Функции LBound и UBound– определяют верхнюю и нижнюю границы индексов элементов массива.

Пример:

Sub LBoundAndUBound()

Dim Data(4 To 15) As Integer

MsgBox "The lower bound is " & LBound(Data) & "."

MsgBox "The upper bound is " & UBound(Data) & "."

Перед вызовом функций LBound и UBoundрекомендуется проверить переменную функцией IsArray.

Передача аргументов из одной программы в другую осуществляется двумя способами:

· по ссылке (by reference);

· по значению (by value).

Выбор способа передачи – с помощью ключевых слов ByRef иByVal:

по ссылке– передается сама переменная (имя переменной), поэтому ее значение в подпрограмме можно изменить;

по значению– передается только значение переменной; изменить это значение в вызванной подпрограмме нельзя.

При отсутствии в описании ключевых слов передача осуществляется по ссылке.

Sub PassArgumentByReference()

Dim Username As String

Username = "Mike"

ChangeName Username

MsgBox Username


Сейчас читают про: