大家好:
     在我的程序窗体Form1 上有一个Edit1 控件,我想在程序运行后,在向 Edit1 控件输入数据时,使Edit1 控件的text属性只能接受0-9之间的数据。请问我怎么实现这一想法????????????请大家指教!!!

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if  not (key in ['0'..'9',#8,#83]) then key:=#0;
    end;
      

  2.   

    #8是退格,#83是del吧,记不大清了procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       if  not (key in ['0'..'9','.',#8,#83]) then key:=#0;
    end;
      

  3.   

    如果要把edit1.text保存到数据库的话,上边的方法根本不把握,比如输入2个‘.’最保险的做法是在onexit里try
       strtofloat(edit1.text);
    except
       showmessage('只能输入数字');
    end;
      

  4.   

    最好的方法是用Maskedit控件,它可以让你规定用户输入什么字符、多少字符。