我想判断一下Edit组件内输入是不是数字,怎么判断?比如输入金额,万一输成了字母,这不惨了.请指教

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    begin
        Edit1.Clear;
        SetWindowLong(Edit1.Handle, GWL_STYLE,
                   GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
    end;
      

  2.   

    如何限制edit中的内容只可以是数字,有属性可以直接设置吗?还是要写代码?
    form 的keypreview属性为true
    在edit的KeyPress事件中判断:if  key in ['0'..'9',#8,#13] then
    else
    begin
      KEY:=#0;
      showmessage('123');
    end;
      

  3.   

    if  key in ['0'..'9',#8,#13] then
    else
    begin
      KEY:=#0;
    end;
      

  4.   

    不好意思
    少了一个小数点if  key in ['0'..'9','.',#8,#13] then
    else
    begin
      KEY:=#0;
    end;退格键: VK_BACK (8)      #8
    回车键: VK_RETURN (13)   #13
      

  5.   

    if  key in ['0'..'9',#8,#13] then
    ............
    else
    begin
      KEY:=#0;
      showmessage('not number');
    end