寻求好的赋值语句(50分)

  • 主题发起人 主题发起人 ziyu
  • 开始时间 开始时间
Z

ziyu

Unregistered / Unconfirmed
GUEST, unregistred user!
作过一个这样的程序,分别要把一个表中的所有记录(40多条)的某个字段的值都赋到
40多个Edit中去。一条赋到一个EDIT中这个样子,如果就一条条赋值语句来写的话,那也
太麻烦了,有什么简便方法吗?
 
for i:=0 to componentcount-1 do
if components is TEdit then (components as TEdit).Text:=……;
 
用控件数组?
private
EditArray: Array[0..39] of TEdit;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
begin
Table1.First;
for i := 0 to 39 do
begin
EditArray := TEdit.Create(Self);
EditArray.Parent := Self;
EditArray.Left := 20;
EditArray.Top := 20+30*i;
EditArray.Width := 100;
EditArray.Height := 25;
EditArray.Text := Table1['SomeField'];
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
var
i: Integer;
begin
for i := 0 to 39 do
begin
EditArray.Free;
EditArray := nil;
end;
end;
 
如果是把form上所有edit都赋上同样的值,可以用wjiachun的做法
如果是一部分edit,可以先把要赋值的edit的tag属性设成一个特定值,例如1
然后
for i:=0 to componentcount-1 do
if (components is TEdit) and ((components as TEdit).Tag=1) then
(components as TEdit).Text:=……;

 
与其一条一条的判断TEdit的Tag属性然后再赋值的话,还不如直接用赋值语句一条一条的做了。
 
各位,控件数组的方法我会,我是想看还有没有更好的方法。我一直想在TAG属性上下点功夫
哪位有好一点的方法吗?
 
多人接受答案了。
 
后退
顶部