+ -
当前位置:首页 → 问答吧 → 求助,如果有Edit1...Edit5这的5个Edit,怎样用数组形式来存放

求助,如果有Edit1...Edit5这的5个Edit,怎样用数组形式来存放

时间:2011-10-12

来源:互联网

如题,它们好象本身就是个数组,请问该怎么操作呢?

作者: game13352985428   发布时间: 2011-10-12

var edit:array[0..4]of Tedit;

作者: gzzai   发布时间: 2011-10-12

使用:edit[1].text:=''; 等...

作者: gzzai   发布时间: 2011-10-12

procedure TForm1.RzButton4Click(Sender: TObject);
var
i:integer;
edit:array[1..6]of Tedit; //前提己有[1..6]个Edit
begin
for i :=1 to 6 do
 begin
  if edit[i].Text='' then edit[i].Text:='0';
 end;
end;
这样写为什么不行呢?

作者: game13352985428   发布时间: 2011-10-12

动态创建,否则的话将Edit赋给指针好了。
Delphi(Pascal) code

var
  Edit: array[0..2] of ^TEdit;
  i   : Word;
begin
  Edit[0] := @Edit1;
  Edit[1] := @Edit2;
  Edit[2] := @Edit3;
  for i := 0 to High(Edit) do
    if Edit[i]^.Text = '' then
       Edit[i]^.Text := '0';
end;

作者: icetoad   发布时间: 2011-10-12

是怎么个不行啊大哥?!你还没建立它的实例吧?Delphi(Pascal) code

procedure TForm1.RzButton4Click(Sender: TObject);
var i:integer;
    edit:array[1..6]of Tedit;
begin
  for i :=1 to 6 do begin
    edit[i]:=Tedit.create(self);
    edit[i].Parent:=Form1;
    edit[i].Top:=10;
    edit[i].Left:=10+(i-1)*edit[i].Width+10*i;
    edit[i].Text:=''+inttostr(i)+'';
  end;
end;

作者: gzzai   发布时间: 2011-10-12