Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
43
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
      1. 2.13.5. Подпрограммы для работы с вариантами

1. Тип значения выясняется с помощью функции

VarType(const V: Variant): Integer;

Возвращаемый результат формируется из констант, перечисленных в таблице. Например, следующий условный оператор проверяет, содержит ли переменная строку (массив строк):

if VarType(V) and varTypeMask = varString then ...

Код типа

Значение

Описание

varEmpty

$0000

Переменная содержит значение Unassigned.

varNull

$0001

Переменная содержит значение Null.

varSmallint

$0002

Переменная содержит значение типа Smallint.

varInteger

$0003

Переменная содержит значение типа Integer.

varSingle

$0004

Переменная содержит значение типа Single.

varDouble

$0005

Переменная содержит значение типа Double.

varCurrency

$0006

Переменная содержит значение типа Currency.

varDate

$0007

Переменная содержит значение типа TDateTime.

varOleStr

$0008

Переменная содержит ссылку на строку формата Unicode в динамической памяти.

varDispatch

$0009

Переменная содержит ссылку на интерфейс IDispatch (интерфейсы позже).

varError

$000A

Переменная содержит системный код ошибки.

varBoolean

$000B

Переменная содержит значение типа WordBool.

varVariant

$000C

Элемент варьируемого массива содержит значение типа Variant (код varVariant используется только в сочетании с флагом varArray).

varUnknown

$000D

Переменная содержит ссылку на интерфейс IUnknown (интерфейсы рассмотрены в главе 6).

varShortint

$0010

Переменная содержит значение типа Shortint

varByte

$0011

Переменная содержит значение типа Byte.

varWord

$0012

Переменная содержит значение типа Word

varLongword

$0013

Переменная содрежит значение типа Longword

varInt64

$0014

Переменная содержит значение типа Int64

varStrArg

$0048

Переменная содержит строку, совместимую со стандартом COM, принятым в операционной системе Windows.

varString

$0100

Переменная содержит ссылку на длинную строку.

varAny

$0101

Переменная содержит значение любого типа данных технологии CORBA

Флаги

varTypeMask

$0FFF

Маска для выяснения типа значения.

varArray

$2000

Переменная содержит массив значений.

varByRef

$4000

Переменная содержит ссылку на значение.

2. Функция

VarAsType(const V: Variant; VarType: Integer): Variant;

позволяет вам преобразовать значение варьируемой переменной к нужному типу, например:

V1 := '100';

V2 := VarAsType(V1, varInteger);

3. Остальные функции:

function VarAsType(const V: Variant; VarType: Integer): Variant;

Преобразует данные варианта V к типу, определяемому параметром VarType

procedure VarCast(var Dest: Variant; const Source: Variant; Var

Type: Integer) ;

Преобразует данные варианта Source к типу,определяемому параметром VarType, и помещает результат в переменную Dest

procedure VarClear(var V: Variant) ;

 

Освобождает динамическую память, если она была связана с вариантом, и дает ему тип varEmpty

procedure VarCopy(var Dest: Variant; const Source: Variants;

Копирует параметр Source в вариант Dest

function VarFrom-DateTime(DateTime: TDateTime):Variant;

Возвращает вариант, содержащий данные DateTime типа дата-время

function VarIsEmpty(const V:

Variant): Boolean;

Возвращает True, если вариант V не содержит данных

function VarIsNull(const V: Vari

ant) : Boolean;

Возвращает True, если вариант V содержит данные неопределенного типа (varNull) ',

function VarToDateTime(const V:

Variant): TDateTime) ;

Преобразует данные варианта V к типу дата-время

function VarToStr(const V: Vari ant) : String;

Преобразует данные варианта V к строке ;

function VarType(const V: Variant) : Integer;