请问怎样让edit里只能输入数字????

解决方案 »

  1.   

    用异常处理来做:
       try
         StrtoInt(Edit1.Text);
       except
         On EConvertError do
           ShowMessage('必须是数字!');
       end;
      

  2.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if key in['0'..'9','.',#8] then
        begin
        // 
        end
        else
        begin
          key:=#0;
          showmessage('你的输入中不是数字的,请重新输入');
        end;
    end;
      

  3.   

    呵呵,处理的方法有:
    1:使用专门的控件,其实实质上和下面的方法是一样的,更浪费资源,但是更灵活;
    2:处理OnChange事件,用程序处理的方法来进行, 一般用gwsr(咩咩) 的代码没有问题,但是有一个小小的可能的BUG是,如果你的程序不是需要一个整数,而是一串的数字,那么这些数字就有可能会超出int的表示范围一样的会抛出异常,你看情况办了,哈哈;
    3:处理OnKeyPress事件,这个其实比较可行,而且如果使用了集合的话可以很方便的加入新的可以输入的字符。