收藏夹中的东西丢了,大家谁有限制文本框输入数字的函数

解决方案 »

  1.   

    if (key<'0') or (key>'9') then
        if key<>chr(8) then key:=chr(0);
      

  2.   

    if achar not in [0..9] then
    ...
      

  3.   

    function  CheckKey(var key :char) :integer;
    begin
        result:=-1;
       if (not (Key in ['0'..'9','.']))  then
        begin
           if ((key <> #8) and  (key <> #13)) then
           begin
            ShowMessage('非法字符!请输入数字');
            key:=#7;
            exit;
           end;
        end;
        result:=0;
        
    end;
      

  4.   

    function  CheckKey(var key :char) :integer;
    begin
        result:=-1;
       if (not (Key in ['0'..'9','.','-']))  then
        begin
           if ((key <> #8) and  (key <> #13)) then
           begin
            ShowMessage('非法字符!请输入数字');
            key:=#7;
            exit;
           end;
        end;
        result:=0;
        
    end;
    少加一个负号!!
      

  5.   

    if not (key in ['0'..'9', '.', '-', #8] then
    begin
      key := #0;
    end;写在OnKeyDown中,当然,小数点和负号仅这样控制不足够的,#8是Back Space,回车不用管它,它不会被过滤,因为它不触发这个事件