L longxibo Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-05 #1 delphi动态数组能否追加(不破坏原来的旧元素)?
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-05 #2 可以啊,比如: 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;
可以啊,比如: 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;
M menxin Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-05 #3 当然可以 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;
当然可以 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;
Z zw84611 Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-05 #4 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;
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;
G goodkiller Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-06 #5 to beta 言简意赅,且可动态控制未知长度数组,cool!
诸 诸葛白痴 Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-06 #6 很多东东可以自已试出来的,我问问题前都先自己试n次不行才会问