function IsNumeric(c: char): Boolean;

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i:integer;
    begin
    try
    i:=strtoint(edit1.Text );
    except
      ShowMessage('非数字');
    end;
    end;
      

  2.   

    生成exe脱离ide环境后,不会出现异常,而出现messagebox!
    isnumeric是VB里的吧!
      

  3.   

    用tmaskedit, 再用EDIDMASK '999999999'就可以啦
      

  4.   

    Sorry outer2000(天外流星) 兄说的没错D6也有了这个函数我的查是CB5的帮助
      

  5.   

    不让用户输入数字以外的字符就行了
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in['0'..'9',#8]) then
      begin
        Key:=#0;
        Beep;
      end;
    end;
      

  6.   

    楼上的这样不全面,小数点不考虑了吗?,一个点或n多个点的错误呢?
    用40Star(陪你去看--☆流星雨★) 的方法,但是把代码放到EDIT的OnChange
    里更好。procedure TMainForm.BTInputEditChange(Sender: TObject);
    begin  //只输入数字的编辑框
      try
        if (Sender as TEdit).Text<>'' then 
          StrToFloat(TEdit(Sender).Text);
      except
        MessageDlg('请注意所输入字符的正确性'+#13+'    "'+TEdit
                   (Sender).Text+'"',mtWarning,[mbOk],0);
        if length(TEdit(Sender).Text)>1 then 
          PostMessage(TEdit(Sender).Handle,WM_CHAR,VK_BACK,0)
        else
        begin
          TEdit(Sender).Text:='0';
          TEdit(Sender).SelectAll;
        end;
      end;
    end;
      

  7.   

    wk_knife(老夫聊发少年狂) ,
    你这段代码只要输入非数字就会出错。
      

  8.   

    var
    {没有空格真烦}  I: Read;
    {没有空格真烦}  E: Integer;
    begin
    {没有空格真烦}  Val(Edit1.Text, I, E);
    {没有空格真烦}  if E <> 0 then
    {没有空格真烦}    ShowMessage('这个问题已经太烂了!');
    end;
      

  9.   

    看看delphi中的帮助,熟悉pascal的都知道val这个过程吧,看看下面delphi带的例子,不用产生异常就可以判断是否为数值,而且可以判断整数还是浮点数,只要把i的类型改为real即可。
    uses Dialogs;
    var   I, Code: Integer;
    begin
      { Get text from TEdit control }
      Val(Edit1.Text, I, Code);
      { Error during conversion to integer? }
      if Code <> 0 then
        MessageDlg('Error at position: ' + IntToStr(Code), mtWarning, [mbOk], 0);
      else
        Canvas.TextOut(10, 10, 'Value = ' + IntToStr(I));end;
      

  10.   

    to 200eboy(柳笛) 你不在IDE环境下运行程序试试。就会弹出一个对话框告诉用户输错了。
    在IDE下有DELPHI的出错处理在把关,他会先弹出一个错误提示,
    继续单击RUN按钮运行即可,不必以为是出了问题。