keydown事件里面写
If key not in(#48..#57)
 Then
  key:=#0;

解决方案 »

  1.   

    在edit的onkeypress事件中写入如下代码:
    if key not in [0..9] then
         edit.text:=edit.text+chr(0);
      

  2.   

    edit 的onkeypress事件中加入如下代码:if key not in ['0'..'9'] then
        key:=chr(0);
      

  3.   

    楼上的兄弟写错了吧?
    应该是在edit的onkeypress事件里加下列代码:
    if not (Key in ['0'..'9','.',#8]) then Key := #0;
    这样可以保证你在edit里面只能输入0..9和小数点或者是退格键,其它一律屏掉
      

  4.   

    我记得以前有过这个问题,主要部分同意楼上的,不过还有个拷贝粘贴判断的问题。所以我觉得还应在  onChange判断一下。
      

  5.   

    keydown事件里面写
    If key not in(#48..#57)
     Then
      key:=#0
      

  6.   

    有两种方法:
    1)keydown事件里面写
    If Not key in[48..57] then
     key:=#0
    2)onkeypress事件中加入如下代码:
    if Not key in ['0'..'9'] then
     key:=#0;
      

  7.   

    我觉得楼上诸位同志的方法虽然经典,但是都不是好的方法.客户输入了半天,他发现输入不进去,而且连个提示都没有,他会怎么想?我觉得最佳方法还是:
     在edit的onchange事件里面写上:
    try 
    strtoint(edit1.text);
    except
    begin
    abort;
    showmessage('您输入了非数字字符');
    end;
    end;