您的位置 首页 > 报价

vb里variant是什么数据类型

[本站 vb里variant是什么数据类型vb里variant是什么数据类型VBSCRIPT的variant数据类型包含哪些子类型在线求助!vc中关于variant类型的问题~~程序中VARIANT这种类型该怎么念啊VB中variant与object区别vb里variant是什么数据类型求答案声明为Variant类型数组吗请教ANY与VARIANT数据类型的联系和区别Variant什么类型变体类型能够在运…

vb里variant是什么数据类型

  • vb里variant是什么数据类型
  • VBSCRIPT的variant数据类型包含哪些子类型
  • 在线求助!vc中关于variant类型的问题~~
  • 程序中VARIANT这种类型该怎么念啊
  • VB中 variant与object区别
  • vb里variant是什么数据类型求答案
  • 声明为Variant类型数组吗
  • 请教ANY与VARIANT数据类型的联系和区别
  • Variant什么类型

变体类型

能够在运行期间动态的改变类型。变体类型能支持所有简单的数据类型,如整型、浮点、字符串、布尔型、日期时间、货币及OLE自动化对象等。

例如:

dim x as variant

x=123456

x=“hello world“

又或

x=3.1415926

还或

x=2011-1-1

扩展资料:

Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据,Variant 也可以包含 Empty、Error、Nothing 及 Null等特殊值。

可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据,Variant 数据类型并没有类型声明字符。

variant是VBSCRIPT各种数据类型的一种,不存在包含什么子类型。
variant数据类型又称为“变体”类型,你也可以通俗的称之为“万能类型”,就是说你可以把什么类型的数据都可以往里放,无论是文本、数字等都可以。
而且,不象c语言等强类型的语言,必须字符型只能一直放字符数据,不能改变,否则就会报错。
VBSCRIPT的语言是弱类型,文本型可以存放数字,反之也可以,也就是“变体”。

VARIANT 、_variant_t 与 COleVariant
VARIANT的结构可以参考头文件VC98IncludeOAIDL.H中关于结构体tagVARIANT的定义。
对于VARIANT变量的赋值:首先给vt成员赋值,指明数据类型,再对联合结构中相同数据类型的变量赋值,举个例子:
VARIANT va;
int a=2001;
va.vt=VT_I4;///指明整型数据
va.lVal=a; ///赋值
对于不马上赋值的VARIANT,最好先用Void VariantInit(VARIANTARG FAR* pvarg);进行初始化,其本质是将vt设置为VT_EMPTY,下表我们列举vt与常用数据的对应关系:
Byte bVal; // VT_UI1.
Short iVal; // VT_I2.
long lVal; // VT_I4.
float fltVal; // VT_R4.
double dblVal; // VT_R8.
VARIANT_BOOL boolVal; // VT_BOOL.
SCODE scode; // VT_ERROR.
CY cyVal; // VT_CY.
DATE date; // VT_DATE.
BSTR bstrVal; // VT_BSTR.
DECIMAL FAR* pdecVal // VT_BYREF|VT_DECIMAL.
IUnknown FAR* punkVal; // VT_UNKNOWN.
IDispatch FAR* pdispVal; // VT_DISPATCH.
SAFEARRAY FAR* parray; // VT_ARRAY|*.
Byte FAR* pbVal; // VT_BYREF|VT_UI1.
short FAR* piVal; // VT_BYREF|VT_I2.
long FAR* plVal; // VT_BYREF|VT_I4.
float FAR* pfltVal; // VT_BYREF|VT_R4.
double FAR* pdblVal; // VT_BYREF|VT_R8.
VARIANT_BOOL FAR* pboolVal; // VT_BYREF|VT_BOOL.
SCODE FAR* pscode; // VT_BYREF|VT_ERROR.
CY FAR* pcyVal; // VT_BYREF|VT_CY.
DATE FAR* pdate; // VT_BYREF|VT_DATE.
BSTR FAR* pbstrVal; // VT_BYREF|VT_BSTR.
IUnknown FAR* FAR* ppunkVal; // VT_BYREF|VT_UNKNOWN.
IDispatch FAR* FAR* ppdispVal; // VT_BYREF|VT_DISPATCH.
SAFEARRAY FAR* FAR* pparray; // VT_ARRAY|*.
VARIANT FAR* pvarVal; // VT_BYREF|VT_VARIANT.
void FAR* byref; // Generic ByRef.
char cVal; // VT_I1.
unsigned short uiVal; // VT_UI2.
unsigned long ulVal; // VT_UI4.
int intVal; // VT_INT.
unsigned int uintVal; // VT_UINT.
char FAR * pcVal; // VT_BYREF|VT_I1.
unsigned short FAR * puiVal; // VT_BYREF|VT_UI2.
unsigned long FAR * pulVal; // VT_BYREF|VT_UI4.
int FAR * pintVal; // VT_BYREF|VT_INT.
unsigned int FAR * puintVal; //VT_BYREF|VT_UINT.

这里是变体类型
variant
KK:
DJ:
a.
1. 有差异的;不同的
2. 易变的
n.
1. 变形;转化
2. (词等的)变体;异读
3. (书等的)不同版本;改编
其中·为下面的参考资料

Variant是不定类型,或者说可变类型,是一种“万金油”变量,你给它赋值哪种类型的数据,它就会自动变为哪种类型,比如说赋值1234,它就是Integer型,赋值12.34,它就是Double型。
Object是对象,是VB中各种控件、组件等的泛称,是类的实例。依上所述,当你给一个Variant变量赋值为对象时,这个变量也自动变为Object。所以从表面上看两者似乎差不多,但事实上是有本质区别的。
不提倡用Variant来声明变量,因为它要用额外的内存字节来记录变量的实际类型,不但会造成资源的浪费,也会降低程序的运行效率。应该声明为具体的变量类型,比如Integer、Long、Single、Double、Date等等。
同样,也不提倡用Object来声明对象变量,而应该是具体的对象类型,如TextBox、CommandButton、ComboBox等

Variant 数据类型并没有类型声明字符。Variant 是一种特殊的数据类型,除了定长 String 数据及用户定义类型外,可以包含任何种类的数据。Variant 也可以包含 Empty、Error、Nothing 及Null等特殊值。可以用 VarType 函数或 TypeName 函数来决定如何处理 Variant 中的数据。数值数据可以是任何整型或实型数,负数时范围从

Vb可以把数组声明为variant型数组,如:
Dim a(10) as variant
当然也可以声明为其他类型数组,如:
Dim a(10) as integer
Dim a(10) as string
Dim a(10) as single
等等。

1、ANY和VARIANT都是指针型数据类型,西门子300/400/1500支持ANY类型,1200/1500支持VARIANT类型,2、 ANY 类型的参数指向数据区的起始位置,并指定其长度。 ANY 指针使用存储器中的 10 个字节。3、VARIANT 类型的参数是一个可以指向不同数据类型变量(而不是实例)的指针。 VARIANT 指针可以是一个元素数据类型的对象,例如 INT 或 REAL。 也可以是一个 STRING、DTL、STRUCT 数组、UDT 或 UDT 数组。 VARIANT 指针可以识别结构,并指向各个结构元素。 VARIANT 数据类型的操作数在背景 DB 或 L 堆栈中不占用任何空间。 但是,将占用 CPU 上的存储空间。VARIANT 类型的变量不是一个对象,而是对另一个对象的引用。 VARIANT 类型的各元素只能在函数的块接口中声明。 因此,不能在数据块或函数块的块接口静态部分中声明,例如,因为各元素的大小未知。 所引用对象的大小可以更改。

变体类型Variant,能够在运行期间动态的改变类型。变体类型能支持所有简单的数据类型,如整型、浮点、字符串、布尔型、日期时间、货币及OLE自动化对象等,不能够表达Object Pascal对象。


相关tag:variant类型
本站部分资源来源于网络,如果侵犯了您的权益,请联系我们删除1354090129@qq.com

标签:类型   数据   变量   可以   对象

本文来自网络,不代表94汽车车网立场,所有(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者。若您的权利被侵害,请联系 56325386@qq.com 删除。转载请注明出处:https://94che.com/qc/157417.html

发表回复

您的电子邮箱地址不会被公开。

返回顶部