zoukankan      html  css  js  c++  java
  • 循环控件

    今天看了以前刚学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;
  • 相关阅读:
    .NET Core+MySql+Nginx 容器化部署
    .NET Core容器化之多容器应用部署@Docker-Compose
    .NET Core容器化@Docker
    Hello Docker
    使用Bitbucket Pipeline进行.Net Core项目的自动构建、测试和部署
    一道面试题的思考
    ABP入门系列(21)——切换MySQL数据库
    爬取朋友圈,Get年度关键词
    一张图理清ASP.NET Core启动流程
    UnitOfWork知多少
  • 原文地址:https://www.cnblogs.com/studypanp/p/4902787.html
Copyright © 2011-2022 走看看