TinyMind
.net.cn
首页
资讯
文章
注册
登录
VARIANT类型的用法
libiver
关注文章
TinyMind专栏频道
VARIANT
类型的用法
VARIANT
的结构可以参考头文件
VC98/Include/OAIDL.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
与常用数据的对应关系
:
///////
VC98/Include/OAIDL.H
/* VARIANT STRUCTURE
*
*VARTYPE vt;
*WORD wReserved1;
*WORD wReserved2;
*WORD wReserved3;
*union
* {
* LONG VT_I4
* BYTE VT_UI1
* SHORT VT_I2
* FLOAT VT_R4
* DOUBLE VT_R8
* VARIANT_BOOL VT_BOOL
* SCODE VT_ERROR
* CY VT_CY
* DATE VT_DATE
* BSTR VT_BSTR
* IUnknown * VT_UNKNOWN
* IDispatch * VT_DISPATCH
* SAFEARRAY * VT_ARRAY
* BYTE * VT_BYREF|VT_UI1
* SHORT * VT_BYREF|VT_I2
* LONG * VT_BYREF|VT_I4
* FLOAT * VT_BYREF|VT_R4
* DOUBLE * VT_BYREF|VT_R8
* VARIANT_BOOL * VT_BYREF|VT_BOOL
* SCODE * VT_BYREF|VT_ERROR
* CY * VT_BYREF|VT_CY
* DATE * VT_BYREF|VT_DATE
* BSTR * VT_BYREF|VT_BSTR
* IUnknown ** VT_BYREF|VT_UNKNOWN
* IDispatch ** VT_BYREF|VT_DISPATCH
* SAFEARRAY ** VT_BYREF|VT_ARRAY
* VARIANT * VT_BYREF|VT_VARIANT
* PVOID VT_BYREF (Generic ByRef)
* CHAR VT_I1
* USHORT VT_UI2
* ULONG VT_UI4
* INT VT_INT
* UINT VT_UINT
* DECIMAL * VT_BYREF|VT_DECIMAL
* CHAR * VT_BYREF|VT_I1
* USHORT * VT_BYREF|VT_UI2
* ULONG * VT_BYREF|VT_UI4
* INT * VT_BYREF|VT_INT
* UINT * VT_BYREF|VT_UINT
*}
*/
_variant_t
是
VARIANT
的封装类,其赋值可以使用强制类型转换,其构造函数会自动处理这些数据类型。
例如:
long l=222;
ing i=100;
_variant_t lVal
(
l
)
;
lVal =
(
long
)
i;
COleVariant
的使用与
_variant_t
的方法基本一样,请参考如下例子:
COleVariant v3 =
"字符串"
, v4 =
(
long
)
1999;
CString str =
(
BSTR
)
v3.pbstrVal;
long i = v4.lVal;
优质内容筛选与推荐
>>
1、《需求过程——软件建模与分析》读书笔记五
2、多元函数的概念与极限
3、九、 C++特性之强类型枚举
4、Different Circle Permutation (HDU - 5868) (欧拉函数+矩阵快速幂)
5、Oracle9i数据库DataGuard实施及维护手册3
赞赏
长按二维码向我转账
受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。
阅读
好看
已推荐到看一看
你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
取消
推荐
我知道了
已取消,“好看”想法已同步删除
知道了
已推荐到看一看
和朋友分享想法
最多200字,当前共
字
发送
已发送
朋友将在看一看看到
确定
分享你的想法...
取消
分享想法到看一看
确定
最多200字,当前共
字
发送中
网络异常,请稍后重试
知道了
微信扫一扫
关注该公众号
0
│
收藏
│
举报