大家好!
     我的窗体上有一个TEdit 控件,当程序运行时,我希望只能在TEdit控件里输入0--9之间的数据,其余的字符都不能输入。请各位高手指点一下我应该怎么做?????????????????拜托拜托!!!!在线等待!!!!

解决方案 »

  1.   

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

  2.   

    在TEdit的onkeypress中加入:
    procedure TfrmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9']) then
        key := #0;
    end;
      

  3.   

    在Edit的OnKeyPress事情中输入代码:
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      IF Not (Key In ['0'..'9']) Then
       key:=#0;
    end;
      

  4.   

    来晚了说完了不过我还是说点
    楼主是不是想在一个edit里面只能输入数字啊?如果是这样,仅考虑你的那个条件是不够的
    比如:非小数不能以0开始,是否可以是小数等
      

  5.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
       IF Not (Key In ['0'..'9',#8]) Then  //其中#8是退格键
       key:=#0;
    end;
      

  6.   

    或者
    SetWindowLong(Edit1.Handle,  GWL_STYLE,  
                                       GetWindowLong(Edit1.Handle,  GWL_STYLE)  or
                                       ES_NUMBER);
      

  7.   

    在TEdit的   onkeydown    中加入:
    procedure TfrmMain.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9']) then
        key := #0;
    end;
      

  8.   

    procedure TProductModifyForm.DBEdit4KeyPress(Sender: TObject;
    var Key: Char);
    begin
     if not (key in ['0'..'9','.',#8]) then
          begin
            key:=#0;
            Messagebeep(0);
          end;
    end;这是我自己在项目中的,楼主可以拿来用