Delphi-Help

VarType

Печать
Рейтинг пользователей: / 0
ХудшийЛучший 

VarType

Описание

function VarType ( const VariantVariable : Variant ) : Integer;

Функция VarType возвращает целое число, представляющее текущий тип данных для Variant переменной VariantVariable.
Этот 16 битный тип данных, разбитый на биты старшего разряда (4 бита) и младшего разряда (12 бит). Биты старшего разряда дают тип мета данных:
varArray: Если Variant содержит массив данных
varByRef: Если Variant косвенно обращается к данным
Биты младшего разряда содержат одно из следующих значений:
varEmpty
varNull
varSmallint
varInteger
varSingle
varDouble
varCurrency
varDate
varOleStr
varDispatch
varError
varBoolean
varVariant
varUnknown
varShortInt
varByte
varWord
varLongWord
varInt64
varStrArg
varString
varAny
Используйте VarTypeMask, чтобы отфильтровать мета часть при поиске основного типа данных Variant.

Пример кода

var
myVar : Variant;
begin
// Назначение различных значений Variant
// и затем показ результирующего типа Variant
ShowMessage('Variant значение = not yet set');
ShowBasicVariantType(myVar);
// Простое значений
myVar := 123;
ShowMessage('Variant значение = 123');
ShowBasicVariantType(myVar);
// Вычисленное значение, используя Variant и константу
myVar := myVar + 456;
ShowMessage('Variant значение = 123 + 456');
ShowBasicVariantType(myVar);
myVar := 'String '+IntToStr(myVar);
ShowMessage('Variant значение = String 579');
ShowBasicVariantType(myVar);
end;
// Показ тип variant
procedure TForm1.ShowBasicVariantType(varVar: Variant);
var
typeString : string;
basicType  : Integer;
begin
// Получение основного типа Variant :
// это означает, исключение массива или косвенных модификаторов
basicType := VarType(varVar) and VarTypeMask;
// Установка строки для согласования типа
case basicType of
varEmpty     : typeString := 'varEmpty';
varNull      : typeString := 'varNull';
varSmallInt  : typeString := 'varSmallInt';
varInteger   : typeString := 'varInteger';
varSingle    : typeString := 'varSingle';
varDouble    : typeString := 'varDouble';
varCurrency  : typeString := 'varCurrency';
varDate      : typeString := 'varDate';
varOleStr    : typeString := 'varOleStr';
varDispatch  : typeString := 'varDispatch';
varError     : typeString := 'varError';
varBoolean   : typeString := 'varBoolean';
varVariant   : typeString := 'varVariant';
varUnknown   : typeString := 'varUnknown';
varByte      : typeString := 'varByte';
varWord      : typeString := 'varWord';
varLongWord  : typeString := 'varLongWord';
varInt64     : typeString := 'varInt64';
varStrArg    : typeString := 'varStrArg';
varString    : typeString := 'varString';
varAny       : typeString := 'varAny';
varTypeMask  : typeString := 'varTypeMask';
end;
// Показ типа Variant
ShowMessage('Variant тип = '+typeString);
end;

Variant значение = ещё не установлено
Variant тип = varEmpty
Variant значение = 123
Variant тип = varByte
Variant значение = 123 + 456
Variant тип = varInt64
Variant значение = String 579
Variant тип = varString

Примечание

Авторизация



Счетчики