全部edit清空: for i := 0 to ControlCount - 1 do if (Controls[i] is TEdit) then (Controls[i] as TEdit).Clear;如果这些edit在某个容器上,比如说panel,那么上面的代码,ControlCount, Controls前面都要加 panel.ControlCount, panel.Controls[i]
把1楼和13楼结合起来就可以了 1.定义一个公共变量 var edno: integer; 2.设置edit1 edit2 edit3的tag 0 1 23.在edit的事件中记录最近被进入的edit的tag即可 procedure TForm1.Edit1Enter(Sender: TObject); begin (Sender as TEdit).Clear; edno:=(Sender as TEdit).tag; end;
我试着在按钮的事件中写让EDIT清空的代码,但是没成功。
procedure TForm1.Button1Click(Sender: TObject); var i: integer; begin for i := 0 to ControlCount - 1 do if (Controls[i] is TEdit) and ((Controls[i] as TEdit).tag=0) then (Controls[i] as TEdit).Clear; end;
楼主是不是当一个edit获得焦点,然后全部edit清空。重新输入数据?
而按钮,按0-9直接输入strtointdef(BitBtn.caption,0);
所以用我说的代码。
这些edit的onenter事件全部指向这个
for i := 0 to ControlCount - 1 do
if (Controls[i] is TEdit) then
(Controls[i] as TEdit).Clear;如果这些edit在某个容器上,比如说panel,那么上面的代码,ControlCount, Controls前面都要加
panel.ControlCount, panel.Controls[i]
在该edit的onEnter事件写上清空所有edit的text。
2、用键盘输入,是用按钮电击输入数字。
在onKeyPress写上
if not (Key in ['0'..'9']) then
Key:=#0;
简单的说就是EDIT1里的值变蓝,按数字按钮就变新值了。
然后点击个数字按钮 把数字依次添加到变量值所对应的EDIT中去
1.定义一个公共变量
var
edno: integer;
2.设置edit1 edit2 edit3的tag 0 1 23.在edit的事件中记录最近被进入的edit的tag即可
procedure TForm1.Edit1Enter(Sender: TObject);
begin
(Sender as TEdit).Clear;
edno:=(Sender as TEdit).tag;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i: integer;
begin
for i := 0 to ControlCount - 1 do
if (Controls[i] is TEdit) and ((Controls[i] as TEdit).tag=0) then
(Controls[i] as TEdit).Clear;
end;
就是那种效果。