一个edit.text得到焦点后,我需要用户输入的是货币型的数字,比如3.2这种。
我不想把代码写到执行的时候再异常处理。
我希望在让用户在填这个edit.text的时候就输入正确的格式。
请问在edit.text中什么事件中写代码比较好。要求,得到焦点后,除非输入一个小数或整数,一转移焦点就弹出对话框,要求输入正确货币格式,然后将焦点还是放在这个edit.text上,直到用户输入正确格式。才能将焦点离开edit.text

解决方案 »

  1.   

    你可以EDITCHANAGE事件中写或用MASKEDIT
      

  2.   

    Type
        TintSet = Set Of 1..255;
    Var
        Set1: TintSet;
        Set1 := [46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 8];
        If Not (ord(Key) In Set1) Then Key := #0;
        //屏蔽输入第二个点.
      

  3.   

    procedure TForm1.Edit1Exit(Sender: TObject);
    begin
      try
        strTofloat(edit1.Text);
      except
         showmessage('请输入正确的货币形式');
         edit1.SetFocus ;
      end;end;
    注意不要在调试状态下运行,肯定通过。
      

  4.   

    grj79(孤行客)253了,我就是想要这个效果。