OnKeyPress
if key in [0..9] then

解决方案 »

  1.   

    isnumric(text1.text)=true就是数字类型
      

  2.   

    tommychim(阿布洛迪) : 没有这个函数呀?
      

  3.   

    我也觉得wisenowa(无人喝彩)的方法简单一些
      

  4.   

    //输入时:
    OnKeyPress
    if not(key in (['0'..'9',#8,#46])) then 
       key:=#0;
    //判定:function:boolean;str:=Edit1.text;
    Result:=str<>'';
    for i:=1 to Strlen(Pchar(str)) do
        if not(str[i] in(['0'..'9'])) then
        begin
          Result:=False;
          Break; 
        end;
    end;
      

  5.   

    也可以用异常处理:
    var 
      i:integer;
    begin
      try
        i:=strtoint(Edit1.Text);
      except
        showmessage('你输入的不是整数');
        exit; 
      end;
      showmessage('输入的整数为:'+intotostr(i));
    end;
      
      

  6.   

    不是这样的,我记得delphi中有这样的函数,我以前用过但是我忘记了
      

  7.   

    如果是d6
    可以用trystrtoint;但isnumernic不好,它限定在0..9,是可以,不过只能针对一个字符
      

  8.   

    进行相应的数据转换,如有异常,说明不是所要的数据
    inttostr
    strtoint
    ....