循环控件

今天看了以前刚学D写的一个程序,发现好多垃圾代码,我有本事把Edit一个一个的写下去

Edit1.MaxLength := 2;
Edit2.MaxLength := 2;
Edit3.MaxLength := 2;
Edit4.MaxLength := 2;
Edit5.MaxLength := 2;
Edit6.MaxLength := 2;
Edit7.MaxLength := 2;
Edit8.MaxLength := 5;

Edit1.SelStart := length(Edit1.Text);
Edit2.SelStart := length(Edit2.Text);
Edit3.SelStart := length(Edit3.Text);
Edit4.SelStart := length(Edit4.Text);
Edit5.SelStart := length(Edit5.Text);
Edit6.SelStart := length(Edit6.Text);

现在看看,真“厉害”,我也只能这么说了。

当初是不想写这么多,想省点事,所以就想循环,当初是这么想的

var
    i: integer;
begin
    for i := 1 to 8 do begin
       Edit[1].text // 哈哈,结果发现不行,因为根本就不是控件名
    end;
end;

好吧,我放弃了,反正功能都一样,我根本就没想到循环控件.

今天突然想起来就这这里记录下吧。

var
  i,j: integer;
begin
  /// 输入最大长度
  for i := 0 to self.ComponentCount -1 do begin         // 循环每个Edit控件 设置最大长度为2
    if self.Components[i] is TEdit then begin
      (self.Components[i] as TEdit).MaxLength := 2;
    end;
    if Sender = Edit8 then Edit8.MaxLength := 5;       // 长度不超过5位数
  end;
end;

/// 将光标移到最后
  for j := 0 to ComponentCount - 1 do begin
    if Components[j] is TEdit then begin
      (Components[j] as TEdit).SelStart := Length((Components[j] as TEdit).Text);
    end;
  end;

 

转载于:https://www.cnblogs.com/studypanp/p/4902787.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值