Шаг 44.
Вариантные типы. Свойства и основные подпрограммы

    На этом шаге мы перечислим основные свойства, а также процедуры и функции, предназначенные для работы с вариантными переменными.

    Перечислим основные свойства вариантных типов.

  1. С одной стороны вариантные переменные предоставляют программисту гибкие средства в решении поставленных задач, но, с другой стороны, для представления этих переменных требуется больше оперативной памяти, чем для обычных переменных. Кроме того, операции с переменными типа Variant, выполняются существенно медленнее, чем с переменными стандартных типов.
  2. Вариантные переменные могут принимать значения перечисленных на предыдущем шаге типов, а также быть массивами элементов этих же типов.
  3. Вариантные переменные могут принимать специальное значение Unassigned, которое означает, что данной переменной еще не было присвоено никакое значение. Это значение всегда устанавливается при инициализации вариантных переменных, независимо от того, какими они являются (глобальными, локальными или частью других структур данных).
  4. Вариантные переменные могут принимать специальное значение Null, которое означает, что данная переменная содержит неопределенное значение.
  5. Вариантные переменные могут использоваться в выражениях вместе со значениями целых, вещественных, строковых и логических типов. Необходимый для преобразования типов код будет автоматически сгенерирован компилятором.
  6. Переменная вариантного типа, которая содержит OLE-объект, может быть использована для доступа к свойствам этого объекта и вызова его методов.

    Для работы с переменными вариантных типов в модуле System имеются нижеописанные процедуры и функции.

  1. VarArrayCreate - создает вариантный массив заданной размерности и типа.
  2. VarArrayDimCount - возвращает число размерностей заданного вариантного массива.
  3. VarArrayHighBound - возвращает верхнюю границу указанной размерности заданного вариантного массива.
  4. VarArrayLock - блокирует заданный вариантный массив, что выражается в фиксации размера массива до его разблокировки.
  5. VarArrayLowBound - возвращает нижнюю границу указанной размерности заданного вариантного массива.
  6. VarArrayOf - возвращает одномерный массив с элементами, заданными в качестве параметров.
  7. VarArrayRedim - изменяет верхнюю границу заданного вариантного массива.
  8. VarArrayUnLock - разблокирует заданный вариантный массив.
  9. VarAsType - преобразует вариантную переменную к заданному типу.
  10. VarCast - преобразует вариантную переменную к заданному типу и результат записывает в другую вариантную переменную.
  11. VarClear - очищает заданную вариантную переменную, поcле чего она принимает значение Unassigned.
  12. VarCopy - копирует исходную вариантную переменную в другую.
  13. VarFromDateTime - возвращает вариантную переменную, содержащую указанные дату и время.
  14. VarIsArray - возвращает булевское значение, показывающее, является ли заданная вариантная переменная массивом.
  15. VarIsEmpty - возвращает булевское значение, показывающее имеет ли заданная вариантная переменная значение Unassigned.
  16. VarIsNull - возвращает булевское значение, показывающее имеет ли заданная вариантная переменная значение Null.
  17. VarToDateTime - преобразует заданную вариантную переменную в значение типа даты и времени TDateTime.
  18. VarType - возвращает код типа заданной вариантной переменной согласно вышеприведенному перечню.

    Более подробную информацию по этим процедурам и функциям можно получить в справочной системе Delphi.

    На следующем шаге мы рассмотрим несколько примеров использования переменных типа "вариант".




Предыдущий шаг Содержание Следующий шаг