Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Операторы и функции для работы с массивами.
Функция Array
Возвращает значение типа Variant, содержащее массив.
Синтаксис функции Array
Array(списокАргументов)
С писокАргументов представляет разделенный запятыми список значений, присваиваемых элементам массива, содержащегося внутри значения типа Variant. Если аргументы не указываются, создается массив нулевой длины. Для определения элемента массива записывается имя переменной, за которым следуют скобки, содержащие номера индексов нужного элемента. В следующем примере первый оператор создает переменную A типа Variant. Второй оператор присваивает целый массив переменной A. Последний оператор показывает, как присвоить переменной В значение второго элемента массива.
Dim A As Variant 'объявляется переменная типа Variant A = Array(10,20,30) ' массив в скобках присваивает переменной A 'Переменной B присваивается значение элемента массива A(2) B = A(2)
Нижняя граница индексов массива, созданного с помощью функции Array, всегда равняется нулю. В отличие от массивов других типов, она не определяется нижней границей, заданной в операторе Option Base. Примечание. Значение типа Variant, не описанное как массив, все равно может содержать массив. Переменная типа Variant может содержать массив любого типа, за исключением строк фиксированной длины и определяемых пользователем типов. В следующем примере функция Array используется для возвращения значения типа Variant, содержащего массив.
Option Base 1 Dim MyWeek, MyDay MyWeek = Array("Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс") MyDay = MyWeek(2) ' MyDay содержит "Вт". MyDay = MyWeek(4) ' MyDay содержит "Чт".
Функция LBound
Возвращает значение типа Long, содержащее минимально доступный индекс указанной размерности массива.
Синтаксис функции LBound
LBound(имяМассива[, размерность])
Синтаксис функции LBound содержит следующие элементы:
имяМассива – имя переменной массива, удовлетворяющее стандартным правилам именования переменных. размерность (необязательный), Variant (Long) – целое число, указывающее размерность, нижнюю границу которой возвращает функция. Для первой размерности следует указать 1, для второй 2 и т.д. Если аргумент размерность опущен, подразумевается значение 1. В следующем примере LBound возвращает значения, для массива:
Dim Lower Dim A(1 To 100, 0 To 3, -3 To 4) Dim AnyArray(10) X = LBound(A, 1) 'Возвращается 1 X = LBound(A, 2) 'Возвращается 0 X = LBound(A, 3) 'Возвращается -3 'Возвращает 0 или 1 (в зависимости от оператора Option Base). Lower = Lbound(AnyArray)
По умолчанию нижняя граница любой размерности имеет значение 0 или 1, в зависимости от значения задаваемого в операторе Option Base. Нижней границей в массивах, созданных с помощью функции Array, всегда является нуль; вне зависимости от значения задаваемого в операторе Option Base. Массивы, размерности которых задаются с помощью предложения To в операторе Dim, Private, Public, ReDim или Static, могут иметь в качестве нижней границы индекса любое целое значение.
Функция UBound
Возвращает значение типа Long, содержащее максимально доступный индекс указанной размерности массива. Синтаксис функции UBound
UBound(имяМассива[, размерность])
Синтаксис функции UBound содержит следующие элементы:
имяМассива – имя переменной массива, удовлетворяющее стандартным правилам именования переменных. размерность – необязательный, Variant (Long) - целое число, указывающее размерность, верхнюю границу которой возвращает функция. Для первой размерности используется значение 1, для второй 2 и т.д. Если аргумент размерность опущен, подразумевается значение 1. Функция UBound вместе с функцией LBound используется для определения размеров массива. В следующем примере функция UBound используется для определения максимально доступного индекса указанной размерности массива.
Dim Upper Dim MyArray(1 To 10, 5 To 15, 10 To 20) ' Объявляет переменные-массивы. Dim AnyArray(10) Upper = UBound(MyArray, 1) ' Возвращает 10. Upper = UBound(MyArray, 3) ' Возвращает 20. Upper = UBound(AnyArray) ' Возвращает 10.
Функция IsArray
Возвращает значение типа Boolean, показывающее, является ли переменная массивом.
Синтаксис функции IsArray
IsArray(имяПеременной)
Функция IsArray возвращает True, если переменная содержит массив; в противном случае возвращается False. Функцию IsArray используют для проверки значений типа Variant, содержащих массивы. В следующем примере функция IsArray используется для проверки, является ли переменная массивом.
'Следующая строка описывает массив. Dim MyArray(1 To 5) As Integer, YourArray, MyCheck YourArray = Array(1, 2, 3)' Вызывает функцию Array. MyCheck = IsArray(MyArray)' Возвращает True. MyCheck = IsArray(YourArray) ' Возвращает True.
Оператор Erase
Повторно инициализирует элементы массивов фиксированной длины и освобождает память, отведенную для динамического массива.
Синтаксис оператора Erase
Erase списокМассивов
где списокМассивов представляет имена одной или нескольких очищаемых переменных массивов, разделенных запятой. Важно знать, имеет ли массив фиксированный размер (обычный массив) или является динамическим, поскольку оператор Erase выполняется по-разному, в зависимости от типа массива. Оператор Erase не освобождает память для массивов фиксированной длины. В табл. 5 показано как оператор Erase действует на элементы массивов фиксированной длины:
Таблица 5
Для динамических массивов оператор Erase освобождает используемую память. Для того, чтобы из программы вновь стала возможна ссылка на динамический массив, необходимо переопределить размерности переменной массива с помощью оператора ReDim. В следующем примере оператор Erase используется для повторной инициализации элементов массивов фиксированной длины и освобождения памяти, отведенной для динамического массива.
' Объявление переменных-массивов. Dim NumArray(10) As Integer 'Массив значений типа Integer. Dim StrVarArray(10) As String 'Массив строк переменной длины. Dim StrFixArray(10) As String * 10 'Массив строк 'фиксированной длины. Dim VarArray(10) As Variant 'Массив типа Variant. Dim DynamicArray() As Integer 'Динамический массив. ReDim DynamicArray(10) 'Занимает память. Erase NumArray 'Каждый элемент становится равным 0. Erase StrVarArray 'Каждый элемент становится пустой ' строкой (""). Erase StrFixArray 'Каждый элемент становится равным 0. Erase VarArray 'Каждый элемент становится пустым. Erase DynamicArray 'Освобождает память, используемую массивом.
|
||||||||||||||||||||
Последнее изменение этой страницы: 2021-11-27; просмотров: 49; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.42.196 (0.017 с.) |