delphi动态数组能否追加(不破坏原来的旧元素)?(50分)

  • 主题发起人 主题发起人 longxibo
  • 开始时间 开始时间
L

longxibo

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi动态数组能否追加(不破坏原来的旧元素)?
 
可以啊,比如:
type
TMyArr: array of Integer;
var
MyArr: TMyArr;
...
var
Len: Integer;
begin
// 假设现在 MyArr 里面已经有部分内容了,现在添加两个:
Len := Length(MyArr) + 2;
SetLength(MyArr, Len);
MyArr[Len - 2] := 12; // 新的倒数第二个
MyArr[Len - 1] := 34; // 新的最后一个
end;
 
当然可以
var
a:array of Integer;
...
begin
SetLength(a,2);
a[0]:=10;
a[1]:=3;
showmessage(format('%d,%d',[a[0],a[1]]));
setlength(a,4);
a[2]:=4;
a[3]:=19;
showmessage(format('%d,%d,%d,%d',[a[0],a[1],a[2],a[3]]));
end;
 
procedure TForm1.FormCreate(Sender: TObject);
var
ii: array of integer;
i: integer;
begin
SetLength(ii,10);
for i := 0 to 9 do ii := 1;
SetLength(ii,20); // 追加
for i := 10 to 19 do ii := 2;
for i := 0 to 19 do ListBox1.Items.Add(inttostr(ii));
end;
 
to beta
言简意赅,且可动态控制未知长度数组,cool!
 
很多东东可以自已试出来的,我问问题前都先自己试n次不行才会问
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
927
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部