Процедуры обработки вариантных массивов
В табл. 1.9 перечислены стандартные процедуры и функции обработки вариантных массивов, определенные в модуле System.
Таблица 1.9. Процедуры и функции обработки вариантных массивов
Процедура/функция | Описание |
VarArrayCreate | Создает вариантный массив с заданными пределами и типом |
VarArrayDimCount | Возвращает число измерений данного вариантного массива |
VarArrayHighBound | Возвращает верхний предел измерения вариантного массива |
VarArrayLock | Фиксирует вариантный массив |
VarArrayLowBound | Возвращает нижний предел измерения вариантного массива |
VarArrayOf | Возвращает вариантный массив с указанными элементами |
VarArrayRedim | Изменяет верхний предел вариантного массива |
VarArrayUnlock | Отменяет фиксацию вариантного массива |
VarAsType | Преобразует вариантную переменную в указанный тип |
VarCast | Преобразует вариантную переменную в указанный тип и записывает значение |
VarClear | Сбрасывает значение вариантной переменной |
VarCopy | Копирует одну вариантную переменную в другую |
VarFromDateTime | Возвращает вариантную переменную, содержащую переменную даты/времени |
VarIsArray | Возвращает True, если вариантная переменная является массивом |
VarIsEmpty | Возвращает True, если вариантная переменная содержит Unassigned |
VarIsNull | Возвращает True, если вариантная переменная содержит Null |
VarToDateTime | Преобразует вариантную переменную в значение даты/времени |
VarType | Преобразует вариантную переменную в указанный тип и записывает значение |
В табл. 1.10 перечислены типы значении, которые можно присваивать вариантным переменным, и вариантные типы результата.
Таблица 1.10. Вариантные типы
Тип выражения | Вариантный тип |
Целый | varlnteger |
Действительный, кроме Currency | varDouble |
Currency | varCurrency |
Строковый и символьный | varString |
Булев | varBoolean |
Вариантные переменные в отношении операции присвоения совместимы с элементарными типами данных Object Pascal (Integer, Real, String и Boolean). Все нужные преобразования Delphi выполняет автоматически. При необходимости конкретно указать, что вариантное значение надо интерпретировать как целое, действительное, строковое или булево, следует задать тип в форме TypeName (V), где TypeName — идентификатор соответствующего типа, V— выражение Variant. Задание типа изменяет только способ считывания значения из вариантной переменной, а не само значение внутри ее. Внутреннее же представление изменяется с помощью процедур VarAsType и VarCast.