我有相同的几个Edit 控件,命名为 Edit1,Edit2,Edit3,……
具体使用的Edit由变量 Number而定,如果我要把一些不同字符串赋值给
Number个Edit控件, 用for应该怎么编写,
for i:=1 to number do
begin
().TEXT:=string;
end;
因为左边括号里是一个Tobject,而右边是一个String,是不是要定义一个函数,
请问应该怎么解决,谢谢!!
具体使用的Edit由变量 Number而定,如果我要把一些不同字符串赋值给
Number个Edit控件, 用for应该怎么编写,
for i:=1 to number do
begin
().TEXT:=string;
end;
因为左边括号里是一个Tobject,而右边是一个String,是不是要定义一个函数,
请问应该怎么解决,谢谢!!
edtTemp: ^TEdit;
...
var
Number:Integer;
begin
for number:=0 to Form1.ComponentCount-1 do
begin
if form1.Components[number] is Tedit then
TEdit(form1.Components[number]).text:='飞飞猫'+inttostr(number);
next;
end;
end;你可以对这个程序进一步做改动。
TEdit(Findcomponent('Edit'+inttostr(i))).text:= inttostr(i)
TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';结果Edit(i) 中都是空白,没有数据然后我用TEdit.Create(Self).Name:='Edit'+inttostr(i);
TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';
结果提示我Edit(i)已经存在,但其中还是空的,这到底是什么原因,
既然存在,为何不能够显示呢?/?
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
for i:=0 to 3 do
begin
TEdit(FindComponent('Edit'+inttostr(i))).text:='HEHE';
end;
end;end.
//名Tedit在窗体上
unit Unit1;interfaceuses
Windows, Messages, SysUtils, 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;implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);var
i: Integer;
const
NamePrefix = 'MyEdit';
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;end.