Справочник функций и процедур Delphi: VarType

  Навигация по первой букве:

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z

  Навигация по категории:

Compiler directives, Directives, Keywords / Types, Variables, Constants / Functions, Procedures

  Реклама:

|  Низкая цена на 3d принтеры.  |

VarType
Функция
Возвращает текущий тип Variant переменной Variants unit
  function VarType ( const VariantVariable : Variant ) : Integer;

Google  
 
Описание
Функция 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.
Похожие команды
Variant  Тип переменной, который может держать изменяющиеся типы данных

VarTypeMask  Маска для части мета типа переменной Variant

 
Пример кода : Иллюстрирование нескольких типов 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
 


Copyright © 2004-2016 Delphi Sources (источник – "DelphiBasics.ru")
 


Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook