动态数组(50分)

  • 主题发起人 主题发起人 a_ping
  • 开始时间 开始时间
A

a_ping

Unregistered / Unconfirmed
GUEST, unregistred user!
我要建个数组,这个数组中的每个值都是一个string,这个数组要动态分配,用完之后再释放,该怎么做?
 
var
ds:array of string

setlength(ds,20);<<分配空间

用完后setlength(ds,0)即可
 
释放的时候ds:=nil也可以
 
动态数组你可以这样做
type
a=array of string
var b:array of a
使用时
setlength(b,10);
setlength(b[0],10);
 
为什么我在事件中加入后运行就报地址错误?
 
贴出代码来看
 
那个地址我解决了,但现在有个问题,我想把找出的值存到数组中,可怎么就存第一个值?很奇怪!我的语句是这样的
type
a = Array of String;

var
b: a;
with ADOQuery_Data do
begin
Close;
SQL.Clear;
SQL.Text := 'SELECT CM_Name, SUM(CM_Number), SUM(CM_SUM) FROM Commodity_out
WHERE GROUP BY CM_Name';
Open;
SetLength(b, Recordcount);
for I := 0 to RecordCount do
begin
a := FieldByName('CM_Name').AsString;
end;
end;
 
没有移动指针,当然只会取第一条记录啊
for I := 0 to RecordCount do
begin
a := FieldByName('CM_Name').AsString;
Next;
end;
 
多人接受答案了。
 
后退
顶部