谢谢~~

解决方案 »

  1.   

    function isNumeric(St: String): Boolean;
    var
      R: Double;
      E: Integer;
    begin
      Val(St, R, E);
      Result := (E = 0);
    end;--------------------------------------
    fastReport的
      

  2.   

    if (key>='0') and (key<='9')  then   
      

  3.   

    if not (key in ['0','1','2','3','4','5','6','7','8','9','.',#8]) then
               key:=#0;
    或者用 MaskEdit,推荐使用!
      

  4.   

    procedure Twr_input.Edit3KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9', #8]) then
      begin
        key := #0;
        showmessage('必须为数字,请重新输入!');
      end;
    end;
      

  5.   

    也可以在onchange事件中
      try
        strtoint(edit1.Text );
      except
        showmessage('必须为数字,请重新输入!');
      end;
      

  6.   

    补充一点
    function isNumeric(St: String): Boolean;
    var
      R: Double;
      E: Integer;
    begin
      Val(St, R, E);
      Result := (E = 0);
    end;procedure TForm1.Edit1Exit(Sender: TObject);
    begin
    if isNumeric(Tedit(sender).Text ) then
    showmessage('数字字符串')
    else
    showmessage('非数字字符串');
    end;