如何在编辑框中处理输入的格式:1.整数部分可无限制输,小数部分只能输入
两位,输第三位就输不进去,当编辑框为空不能输入小数点.
     2.如何限制非数值键的输入,但不限制delete和回车等功能键.
     3.用什么函数可取得键盘各键的 Ascii码

解决方案 »

  1.   

    1. maskedit
    2. maskedit
    3. form.keypreview:=true;
    procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begincaption:=inttostr(key);
    end;
      

  2.   

    自己重新编一个Edit控件吧,分析WM_CHAR消息可以解决前两个问题,ord可以取得ASCII值呀。
      

  3.   

    要实现这种要求你就用MASKEDIT吧
      

  4.   

    对,用MaskEdit简单,如果一定要用TEdit实现那代码就比较多了!
      

  5.   

    tMaskEdit就是专门为限制格式而设置的,干吗不用呢?
    用tMaskEdit
      

  6.   

    可以用ONKeyPress事件进行判断,判断KeyCode的ASCII值
      

  7.   

    简单的方法用于简单的功能.
    这样就可限制字符输入.
    procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
    if key in ['0','1','2','3','4','5','6','7','8','9','.',chr(VK_BACK)] then
          key:=#0;
    end;
    要按键的asc值就用ORD()函数.或者查询帮助.
    不知道有没有帮助,要完全实现你的功能代码量就很大.