怎样取得Variant arrays数组的长度?

Martin279 2008-12-02 01:58:13
怎样取得Variant arrays数组的长度?
...全文
219 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
僵哥 2008-12-02
  • 打赏
  • 举报
回复
VarArrayHighBound(v) - VarArrayLowBound(v) + 1
starluck 2008-12-02
  • 打赏
  • 举报
回复

procedure testdd;
var
ResArray,return2 : variant;
i : integer;
begin
ResArray := VarArrayCreate([0, 78], varVariant);
for i := 0 to 78 do ResArray[i] := i;

if VarIsArray(ResArray) then
showmessage(inttostr(VarArrayHighBound(ResArray,1)));





不好意思,應該是:
function VarArrayHighBound(const A: Variant; Dim: Integer): Integer;
Martin279 2008-12-02
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 starluck 的回复:]
Delphi(Pascal) code

Pascal
function VarArrayDimCount(const A: Variant): Integer;
[/Quote]

VarArrayDimCount取的值不对,取成了1,我的代码大概如下:

function a(out Rst: variant):Boolean;
var
ResArray: variant;
begin
arrayLen := 78;
ResArray := VarArrayCreate([0, arrayLen], varVariant);
....
end;

function b(ResArray :variant;out Rst: variant):Boolean;
begin
if VarIsArray(ResArray) then
begin
ShowMessage(inttostr(VarArrayDimCount(ResArray)));
end;
end;

procedure test;
var
return,return2 : variant;
begin
if a(return) then
begin
if b(return,return2) then
showmessage('success.');
end;
end;
starluck 2008-12-02
  • 打赏
  • 举报
回复


Pascal
function VarArrayDimCount(const A: Variant): Integer;

pinyu 2008-12-02
  • 打赏
  • 举报
回复
好久不用DElphi了,都忘记了,似乎是用highbound和lowbound吧

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧