如题,用maskEdit可以办得到吗?怎么设置?

解决方案 »

  1.   

    if not (key in ['1','2','3','4','5','6','7','8','9','0']) then
      key:=#0;
      在EDIT的KEYPRESS中加入即可
      

  2.   

    if key<>#8 then
      begin
         if (key<'0')or(key>'9') then
         begin
     application.MessageBox('此字段只能输入数字!','警告',mb_ok+mb_iconError);
         abort;
    end;
    end;
      

  3.   

    http://expert.csdn.net/Expert/topic/2268/2268320.xml?temp=4.201907E-02
    那就把‘0’去掉
      

  4.   

    先谢谢楼上
    key<>#8是什么意思?
      

  5.   

    #8是退格键,就backspace;#0就是键盘无效!
      

  6.   

    好,谢谢大家还有其他方法吗?
    比如用maskedit,怎么设置呢
      

  7.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (key in ['0'..'9','.',#13,#8]) then key:=#0;
    end;
      

  8.   

    maskedit需要确定长度,比如我想在maskedit中输入最大5位整数3位小数:应如下写
    editmask属性99999.9999
      

  9.   

    那就是说maskEdit限制输入的位数了,假如我输入的位数小于限制的也是不行的,对吗?也就是说maskEdit使得输入的信息按照既定形式显示
      

  10.   

    可以把取得的值转换成数字,进行错误捕作。

    int val;
    try{
      val=edt->Text.ToInt;
    }catch(...){
      //输出提示
      //返回输入焦点edt
    }
      

  11.   

    yxl2000(yxl) 的方法出现对话框麻烦!
    同意lzfly(linzhifly) 的方法
      

  12.   

    没人???如何保证输入的数值只能是数值型的同时数值又大于0呢?help?
      

  13.   

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