数组类型如何与OleVariant相互转换 ( 积分: 30 )

  • 主题发起人 主题发起人 L.Ming
  • 开始时间 开始时间
L

L.Ming

Unregistered / Unconfirmed
GUEST, unregistred user!
TAryString = array of string
TAryWideString = array of widestring
如何将这两种类型的数组转换成OleVariant,如何把OleVariant转换成这两种类型
 
参考
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1046817
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1308861
 
function StrArrToVariant(ArrSrc:array of string):OleVariant;
var
i:Integer;
begin
Result:=VarArrayCreate([1,Length(ArrSrc)],VarString);
for i:=1 to Leng(ArrSrc) do
Result:=ArrSrc[Low(ArrSrc)+i-1];
end;
转换WideString数组只要把VarString改成VarOleStr就可以了。
 
将“地质灾害”的修改一下:

function StrArrToVariant(ArrSrc:array of string):OleVariant;
var
i,k:Integer;
begin
Result:=VarArrayCreate([0,Length(ArrSrc)-1],VarString);
for i:=Low(Result) to High(Result) do
k := Low(ArrSrc);
Result:=ArrSrc[k];
Inc(k);
end;
 
那再转回来呢?怎么处理?各位能否用中文把那几个函数的定义与使用方法再详细说一次?
 
还有,狂风的通不过编译
 
1)自定义的两个类型是多余的,引用 Types 单元即可。
2)直接使用 := 即可,前提是开发者自己是清楚的。
 
后退
顶部