如何在EDIT控件中设置
只能输入“数字”型数据

解决方案 »

  1.   


    uese
      StrUtils;procedure TForm1.Edit1Change(Sender: TObject);
    var
      code:integer;
      num:double;
    begin
      Val(TEdit(Sender).Text, num, code);
      if Trim(TEdit(Sender).Text) = '' then
        TEdit(Sender).Text := '0'
      else if code > 0 then
      begin
        Application.MessageBox(PChar('数值格式错误!'),PChar('信息提示'),MB_OK or MB_ICONINFORMATION);
        if Trim(TEdit(Sender).Text) = '' then
          TEdit(Sender).Text := '0'
        else
          TEdit(Sender).Text := LeftStr(TEdit(Sender).Text,code-1);
      end;
    end;
      

  2.   

    也有专门的数字输入控件啊!TRzNumericEdit。不过要下载的
      

  3.   

    仅仅数字,Tmaskedit就行了好像浮点、16进制,它还没有合适的掩码
      

  4.   

     TEdit(Sender).Text := LeftStr(TEdit(Sender).Text,code-1);
    [错误] Unit1.pas(151): Undeclared identifier: 'LeftStr'
      

  5.   

    TEdit(Sender).Text := copy(TEdit(Sender).Text,1,code-1);LeftStr好像是strutils里的
      

  6.   

    不好意思,是我写错了,将strutils写成了strutil这个少个s
    问题处理好了》》》》》》》》》》》》》》》》》》》》》》》