这段代码还可以精简吗?
delphi吧
全部回复
仅看楼主
level 7
procedure TfrmMain.AllEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
var
s1 : string;
s2 : string;
i : integer;
begin
s1 := (Sender as TEdit).Name;
s2 := (Sender as TEdit).Text;
i := strtoint(copy(s1 , 5 , 1));
if (key = 13) and (length(s2) > 0) then
begin
if (i = 1) then Edit2.SetFocus;
if (i = 2) then Edit3.SetFocus;
if (i = 3) then Edit4.SetFocus;
if (i = 4) then Edit5.SetFocus;
if (i = 5) then Edit6.SetFocus;
if (i = 6) then Edit7.SetFocus;
if (i = 7) then Edit8.SetFocus;
if (i = 8) then btn1.Click;
end;
end;
主要是 从if(i = 1)到if(i = 7)这几行是否还可以简化代码?
2014年04月10日 19点04分 1
level 9
TEdit(FindComponent('Edit' + IntToStr(i))).Setfocus;
2014年04月10日 21点04分 3
谢谢,学习了!请问 FindComponent属于什么类别的函数?
2014年04月11日 02点04分
level 1
不如设置好Edit的taborder, 然后回车键转Tab键
if (key = 13) and (length(s2) > 0) then
key := VK_TAB;
2014年04月11日 05点04分 4
高明!
2014年04月11日 05点04分
level 13
用控件数组多好,还比对什么控件名啊,真麻烦。
2014年04月13日 11点04分 5
delphi也有数组控件吗?我记得这个好像只有VB有?
2014年04月14日 05点04分
回复 cushaw95 :要自己创建 array[0..4] of TButton 这样就定义了按钮数组,使用时需要自己创建实例,没有可视化的编辑方法
2014年04月14日 07点04分
回复 cushaw95 :delphi 是VB 杀手 VB 算个毛线
2014年04月18日 01点04分
1