if not (key in['0'..'9']) then
  begin
    key :=#0;
    showmessage('必须填入数字!');
    exit;
  end;

解决方案 »

  1.   

    if not (key in ['0'..'9',#8])  then
       begin
          if (key='.') and (pos('.',Tedit(sender).Text)=0) then exit;
          key:=#0;
          
       end;
      

  2.   

    if not (key in ['0'..'9',#8],'.')  then
       begin
          if (key='.') and (pos('.',Tedit(sender).Text)=0) then exit;
          key:=#0;
          showmessage('必须填入数字!');
       end;
      

  3.   

    if not (key in['0'..'9','.']) then
      begin
        key :=#0;
        showmessage('必须填入数字!');
        exit;
      end;
    如果要负数就
    if not (key in['0'..'9','.','-']) then
      begin
        key :=#0;
        showmessage('必须填入数字!');
        exit;
      end;
      

  4.   

    if ((key<'0') or (key>'9')) and (key<>'.') and (key<>'-') and (key<>#13) and
       ( key<>#8) then
    begin
      application.messagebox('','');
      abort;
    end;
      

  5.   

    对啊,我也想了解一下在那里可以找到#number代表什么键
      

  6.   

    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;
    To: wjsfr(令狐葱) 
      #9代表'TAB'键?  
     
      

  7.   

    这个问题,其实linzhisong应该得20分,其他人的代码都不好,用用就知道了
    都是垃圾~~~
      

  8.   

    key in['0'..'9','.',#8]
    这里面加个‘.’画蛇添足~~~