Overview of Variants

Variants were first introduced in version 2 of Visual Basic as a flexible data type that could hold each of the simple data types. The Variant data type was extended substantially with version 4 to include Byte, Boolean, Error, Objects, and Arrays, and a little further with version 5 to include the Decimal data type. The Decimal data type was the first data type that was not available as a "first class" data type—it is available only within a Variant—and you cannot directly declare a variable as a Decimal.

In Visual Basic 6, UDTs have been added to the list, effectively completing the set. Now a Variant can be assigned any variable or constant, whatever the type.

A variety of functions convert to these subtypes and test for these subtypes. Table 4-1 shows the development of the Variant data type through the versions of Visual Basic, along with the matching functions.

Table 4-1 The Evolution of Variants


Type Visual Basic Name Visual Basic Version Convert Function Test Function
0 Empty 2 = Empty IsEmpty
1 Null 2 = Null IsNull
2 Integer 2 CInt IsNumeric*
3 Long 2 CLng IsNumeric
4 Single 2 CSng IsNumeric
5 Double 2 CDbl IsNumeric
6 Currency 2 CCur IsNumeric
7 Date 2 CVDate/CDate IsDate
8 String 2 CStr  
9 Object 4   IsObject
10 Error 4 CVErr IsError
11 Boolean 4 CBool  
12 Variant 4 CVar  
13 Data Object 4    
14 Decimal 5 CDec IsNumeric
17 Byte 4 CByte  
36 UDT 6    
8192 Array 4 Array IsArray
16384 ByRef Never?    

*Strictly speaking, IsNumeric tests to see if a variable can be converted to a numeric value, and is not simply reporting on a Variant's subtype.



Ltd Mandelbrot Set International Advanced Microsoft Visual Basics 6. 0
Advanced Microsoft Visual Basic (Mps)
ISBN: 1572318937
EAN: 2147483647
Year: 1997
Pages: 168

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net