想限制Edit1中输入的是30~200之间的整数程序应该怎么写呢?多谢!

解决方案 »

  1.   

    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
     try
      if (StrToInt(Edit1.Text)<30) or (StrToInt(Edit1.Text)>200) then
      begin
        Edit1.Text:='';
      end;
     except
     end;
    end;
      

  2.   

    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
     try
      if (StrToInt(Edit1.Text)<30) or (StrToInt(Edit1.Text)>200) then
      begin
        Edit1.Text:='';
      end;
     except
        Edit1.Text:='';
     end;
    end;
      

  3.   

    在keypress中加入
    if not (key in ['0'..'9',#8]) then key:=0;
    edit的onchange 加入
    if trim(edit1.text)='' then edit1.text:='0';if (StrToInt(Edit1.Text)<30) or (StrToInt(Edit1.Text)>200) then
      application.message('数据超出范围','警告');
      

  4.   

    在keypress事件里写入代码:
    if key = #13 then
    begin
      try
        if strtoint(edit1.text) > 200 or strtoint(edit1.text) < 13 then
           showmessage('请输入30。。200之间的整数;');
      except
           showmessage('请输入30。。200之间的整数;');
      end;
    end;