VarType
The function VarType tests a variant to determine what data type its value is.
For more information about variant data types including the current list of available data types, please review TVarType.
This is more commonly used with variant type variables, rather than fields - when accessing fields you can achieve the same thing by using the Field.FieldType property as illustrated below.
Declaration: Function VarType(const V : Variant) : TVarType;
An example.
procedure
OnMapEvent(
var
Value:Variant);
begin
if
VarType(Field
.
Value) = varOleStr
then
Value := Field
.
Value;
end
;
The function can also be used to good effect the following way to return the data type value.
procedure
ScriptEvent (
var
Value : variant);
var
Str1 :
string
;
Var1, Var2 : variant;
WStr1 :
widestring
;
Bool1 :
boolean
;
begin
LogInfo(
''
);
Str1 :=
'Morning!'
;
LogInfo(Str1);
//Returns data type 258
LogInfo(
'Data type for STRING variable with TEXT = '
+IntToStr(VarType(Str1)));
LogInfo(
''
);
Var1 :=
'Hello there βÆ£€èç'
;
LogInfo(Var1);
//Returns data type 256
LogInfo(
'Data type for VARIANT variable with TEXT = '
+IntToStr(VarType(aVar)));
LogInfo(
''
);
WStr1 :=
'βÆ£€èç is a widestring'
;
LogInfo(WStr1);
//Returns VarType of 8
LogInfo(
'Data Type for WIDESTRING variable = '
+IntToStr(VarType(WStr1)));
LogInfo(
''
);
Var2 := null;
//Returns data type 1
LogInfo(
'Data type for null VARIANT = '
+IntToStr(VarType(aVar)));
LogInfo(
''
);
Bool1 := VarIsNull(Var2);
LogInfo(BoolToStr(Bool1,
true
));
//Returns data type 11
LogInfo(
'Data type for BOOLEAN = '
+IntToStr(VarType(Bool1)));
LogInfo(
''
);
end
;