动态数组

aloking 2005-03-31 12:32:24
type
TB=Class
c:integer;
end;

TA=class
public
a:integer;
b: array of TB;
end;
var
ppp: array of TA
怎么给ppp赋值
谢谢
...全文
139 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
DDGG 2005-03-31
  • 打赏
  • 举报
回复
更正

SetLength(ppp, 10); // 由于ppp定义为动态数组,所以要先分配大小
for i:=0 to High(ppp) do
begin
ppp[i] := TA.Create;
with ppp[i] do
begin
a := i; // 给成员变量a赋值
SetLength(b, 1); // 同样b也是动态数组,要先分配大小再给它(们)的成员变量赋值
b[0] := TB.Create;
b[0].c := i;
end;
end;

// 最后要记得释放对象!b[0].Free; for i:=0 to High(ppp) do ppp[i].Free;
psp2003 2005-03-31
  • 打赏
  • 举报
回复
首先通过 Setlength分配一个空间!然后赋值!

一个值:
setlength(ppp,1)
ppp[0]=A;

如已存在的值,添加一个值:
setlength(ppp,length(A)+1)
ppp[High(ppp)]=A;


DDGG 2005-03-31
  • 打赏
  • 举报
回复
//怎么给ppp赋值

SetLength(ppp, 10); // 由于ppp定义为动态数组,所以要先分配大小
for i:=0 to High(ppp) do
begin
ppp.a := i; // 给成员变量a赋值
SetLength(b, 1); // 同样b也是动态数组,要先分配大小再给它(们)的成员变量赋值
b[0].c := i;
end;
jiuzhangcs21dn 2005-03-31
  • 打赏
  • 举报
回复
A:=TA.create;
setlength(ppp,2)
ppp[0]=A;
aloking 2005-03-31
  • 打赏
  • 举报
回复
ok 通过了,上午写晕头了,忘记create了,呵呵

16,749

社区成员

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

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