var  myedit:array[0..10] of Tedit;
在myedit[i]建立时,指定不同的tag值,根据TAG值来判断。

解决方案 »

  1.   

    //制片大人看招
    function IsNumber(mStr: string): Boolean;
    var
      I: Real;
      E: Integer;
    begin
      Val(mStr, I, E);
      Result := E = 0;
    end; { IsNumber }procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ControlCount - 1 do
        if Controls[I] is TEdit then
          if not IsNumber(TEdit(Controls[I]).Text){ 不合法 } then begin
            { 提示用户 }
            TEdit(Controls[I]).SetFocus;
            Break;
          end;
    end;
      

  2.   

    //制片大人看招
    function IsInteger(mStr: string): Boolean;
    var
      I: Integer;
    begin
      Result := TryStrToInt(mStr, I);
    end; { IsNumber }function IsDate(mStr: string): Boolean;
    var
      Date: TDateTime;
    begin
      Result := TryStrToDate(mStr, Date);
    end; { IsDate }procedure TForm1.Button1Click(Sender: TObject);
    var
      I: Integer;
    begin
      for I := 0 to ControlCount - 1 do
        if Controls[I] is TEdit then
          case TEdit(Controls[I]).Tag of
            1: //数字
            if not IsInteger(TEdit(Controls[I]).Text){ 不合法 } then begin
              { 提示用户 }
              TEdit(Controls[I]).SetFocus;
              ShowMessage('无效整数');
              Break;
            end;
            2: //日期
            if not IsDate(TEdit(Controls[I]).Text){ 不合法 } then begin
              { 提示用户 }
              TEdit(Controls[I]).SetFocus;
              ShowMessage('无效日期');
              Break;
            end;
          end;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      with TEdit.Create(Self) do begin
        Parent := Self;
        Left := 100;
        Top := 10;
        Tag := 1;
      end;
      with TEdit.Create(Self) do begin
        Parent := Self;
        Left := 100;
        Top := 40;
        Tag := 2;
      end;
    end;