if key>=chr(0) and key<=chr(9) then
   ....
else
  key=#0;

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
        if (Ord(Key)<Ord('0')) or (Ord(Key)>Ord('9')) then
            Key:=Char(0);
    end;
      

  2.   

    onkeypress
    if key in ['0'..'9'] 
    then ...
    else abort 
      

  3.   

    这个可能更实际一些 if key in [0..9,#8,#13] then
       ...
    else
      key:=#0;
         
      

  4.   

    onkeypress
     
    //如果输入的不是数字或退格键
      if (not (Key in ['0'..'9'])) and (Key <> #8) then
        Key := #0
      

  5.   

    经验正: gzmhero(hihihi)  Focus(老鱼) bluemeteor(挂月)答案是对的给予奖励,其余人给参与分