如何做到啊

解决方案 »

  1.   

    判断Edit1.Text 在 1-255间就是了,在OnChange事件中做,当然你还要屏蔽非数字录入
      

  2.   

    Edit1KeyPress事件中判断输入是否为数字
      

  3.   

      
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if key=#13 then
      begin
       try
        if (strtoint(edit1.text)<1) or  (strtoint(edit1.text)>255)   then
        edit1.Clear;
       except on e:exception do
        begin
          showmessage(e.message);
        end;
       end;
      end;
    end;
      

  4.   


    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9',#8,#13]) then key :=#0;
      if key=#13 then
      begin
       try
        if (strtoint(edit1.text)<1) or  (strtoint(edit1.text)>255)   then
        begin
         edit1.Clear;
         edit1.SetFocus;
        end;
       except 
        on e:exception do
        begin
          showmessage(e.message);
        end;
       end;
      end;
    end;
      

  5.   

    在KeyPress事件中寫代碼,判斷數字是否在1~255這個區間
      

  6.   

    1、“事前”预防:限制字符录入(包括粘贴操作)或不允许直接录入,只能选择(比如设置加减两个按键且只能指定范围内加减,也有做好的第三方控件如Raize中就有)
    2、“事后”判断:内容变化或提交前校验
      

  7.   

    可以在OnExit事件,OnChange事件写代码,最好在这两个事件中都进行判定。
      

  8.   

    最好用SpinEdit控件,可以设定最小最大值。
      

  9.   

    如果不用cxSpinEdit的控件,可以用Edit加上UpDown控件,再设置UpDown的Max值及UpDown的Min值。