加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Delphi的OLEVariant数据类型

(2011-01-16 10:54:47)
标签:

杂谈

OLEVariant数据类型,看到Variant就知道这个是个变体,可变为其他的类型,前提是要知道怎么给它赋值,因为不能直接把array of byte赋给它。这只说明这一种用法,赋值数组。

首先先建立一个变量;
var
test:OLEVariant;
i:integer;

然后要分配空间,使用VarArrayCreat(),这个方法在variants单元中,所以确保前面已经包含进这个单元。
varArrayCreat([0,255],varbyte),[0,255]表明分配256个空间,类型为byte。
这一段代码这样写:
test:=VarArrayCreat([0,255],varbyte);
for i:=0 to 255 do
begin
    test[i]:=data[i];//data[]为你的要赋给test的数组
end;

之后就可以直接使用test了。

例如:mscomm控件中的输出
mscomm1.output:=test;会把这个数组发送出去。

采用test而不直接用char(),是因为char()转换为字符值,而有些byte值没对应的字符这时,char()会返回0的,这样发送字节数据就会出问题。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有