java variant_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与常用数据的对应关系:
unsigned char 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
IUnknown FAR* punkVal; VT_UNKNOWN
IDispatch FAR* pdispVal; VT_DISPATCH
SAFEARRAY FAR* parray; VT_ARRAY|*
unsigned char 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; VT_BYREF
_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;
java variant_VARIANT类型的用法相关推荐
- java的枚举类型是什么_什么是枚举(java枚举类型enum用法)
最佳回答 枚举 1.枚举 (enumeration) 值类型的一种特殊形式,它从 System.Enum 继承,并为基础基元类型的值提供备用名称.枚举类型有名称.基础类型和一组字段.基础类型. &qu ...
- java枚举类型enum用法_java枚举类型enum用法和原理介绍【传智播客】
Enum枚举类型 Enum的全写是Enumeration,这个词的翻译是列举.逐条陈述.细目.在程序语言中,枚举类型是一种特殊的数据类型(常用的数据类型比如字符串.整型),这种数据类型的变量值限定在固 ...
- Java枚举类型的用法
JDK1.5引入了新的类型--枚举.在 Java 中它虽然算个"小"功能,却给我的开发带来了"大"方便. 1.用法一:常量 在JDK1.5 之前,我们定义常量都 ...
- java继承类型的用法_详解Java中使用externds关键字继承类的用法
理解继承是理解面向对象程序设计的关键.在Java中,通过关键字extends继承一个已有的类,被继承的类称为父类(超类,基类),新的类称为子类(派生类).在Java中不允许多继承. (1)继承 cla ...
- java 枚举类型enum用法_别再说Python没有枚举类型了,好好看看
枚举 枚举类型可以看作是一种标签或是一系列常量的集合,通常用于表示某些特定的有限集合,例如星期.月份.状态等. Python 的原生类型(Built-in types)里并没有专门的枚举类型,但是我们 ...
- java枚举类型enum用法_深入理解java枚举类型enum用法
enum 的全称为 enumeraTIon, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中. 下面是我在使用 enum 过程中的一些经验和总结. 原始的接口定义常量 publi ...
- java枚举类型enum用法_Java枚举类型——Enum的简单用法
枚举类型是Java1.5的新特性,是指由一组固定的常量组成合法的类型.Java中由关键字enum来定义一个枚举类型.我们可以使用枚举来取代用public final static修饰的一批相关数据.如 ...
- Java - 枚举类型enum用法
目录 一.枚举的理解(概念) 二.早期实现方式 三.枚举类型的定义 四. 枚举类的要求和特点 五. 枚举类型常用方法 一.枚举的理解(概念)
- java枚举类型enum用法和写法
java枚举类型enum用法,enum的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 Java.lang 包中,在上面的这种情况下,enum就能派上用场了.枚举类型的用 ...
最新文章
- thinkphp mysql函数_php封装的数据库函数与用法示例【参考thinkPHP】
- 在 Android Studio 2.2 中愉快地使用 C/C++
- fft ocean注解
- acrgis api for javaScript中的FeatureLayer查询
- 重构随笔——重构的原则
- 使用Comparable、Comparator接口实现对对象数组、List集合自定义排序
- java 数组覆盖_JavaSE——数组集合
- java 注解 jpa_详解Spring Data JPA使用@Query注解(Using @Query)
- php 容器对象,Laravel 6.2 中添加了可调用容器对象的方法
- Waymo也商业化了!“早期乘客”项目开始测试收费,凤凰城人民掏了腰包
- (转)内存整理的原理 整理自CSDN
- android 木马行为监控,基于行为分析的Android手机木马检测技术研究
- hdu 3987 - 最小割最少割边
- LinkedIn高级分析师王益:大数据时代的理想主义和现实主义(图灵访谈)
- 学习编程前需要知道什么?
- Vue基础—模版语法指令精细版
- 计算机网络基础课内实验报告答案,计算机网络基础课内实验报告-20210418131414.docx-原创力文档...
- ZOJ 3380 Patchouli's Spell Cards 概率DP
- 详细了解java中的null_深入理解java中的null“类型”
- Python为什么这么火,它能做什么?——Python编程语言应用综述