如何把组件用数组的形式的表示
各位:
有Edit1,Edit2,Edit3,Edit4,Edit5,Edit6,Edit7,Edit8,对各edit赋为空值时:如何使得不用edit1.text:='',edit2.text:='',...edit8.text:=''.而是用数组的形式来实现。
问题点数:0、回复次数:5Top
1 楼guanghui(不归路)回复于 2003-09-03 13:09:31 得分 0
var
MyEdit: array[1..8] of TEdit;
----------
for i:= 0 to 7 do
begin
MyEdit[i]:=TEdit.create(nil);
MyEdit[i].parent := Form1;
...
MyEdit[i].text := ''
end;
Top
2 楼guanghui(不归路)回复于 2003-09-03 13:11:00 得分 0
sorry ,应该是
for i:=1 to 8 do
...Top
3 楼mikko11()回复于 2003-09-03 13:52:21 得分 0
for i:=0 to componetcount-1 do
begin
if componets[i] is TEdit then
tEdit(Componets[i]).Text:='';
end;Top
4 楼guanghui(不归路)回复于 2003-09-04 08:56:58 得分 0
Sorry,代码我是随手敲的,有个参数错误,现重新给你代码
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
MyEdit: array[1..8] of TEdit;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i:= 1 to 8 do
begin
MyEdit[i]:=TEdit.create(form1);
MyEdit[i].Parent:=Form1;
MyEdit[i].Top:=i*20;
MyEdit[i].Left:=i*20;
MyEdit[i].Height:=20;
MyEdit[i].Width:=20;
MyEdit[i].text :=IntToStr(i);
end;
end;
end.Top
5 楼mikko11()回复于 2003-09-04 09:29:30 得分 0
是ComponentCountTop




