在keypress事件中if not (key in ['0'..'8']) then  //不是数字
   begin
    ...
   end

解决方案 »

  1.   

    那你就自己做个
    for i:=0 up to Length(s) do begin
      if S[I] not in ['0'..'9'] then begin
        result:=False;
        exit;
      end;
    end;
      

  2.   

    try
      i:=strtoint(edit1.text)
    except
      showmessage('不是数字')
    end;
      

  3.   

    try
      num:=strtoint(edit.text);
    except 
      showmessage('Not number!');
    end;
      

  4.   

    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if Key in [0..9] then//输入的为数字
    begin
    .....end; 
    end;
      

  5.   

    有 IsNumeric() ,但只能判断自符是否是数字,所以还是要写一个循环。
      

  6.   

    可是我确实在delphi5中用过isnumber()函数,挺好用的,怎么会在delphi6中没有呢?