如题

解决方案 »

  1.   

    类似
    key in ['0'..'9']
      

  2.   

    有这方面的控件啊 
    你可以到
    www.playicq.com
    看看
      

  3.   

    你只要在Edit的控件的OnKeyPress的事件中加入如下代码即可
    if not ( key in['0'..'9',#8,'.']) then
       key:=#0;
      

  4.   

    还有小数点的问题。你只要在Edit的控件的OnKeyPress的事件中加入如下代码即可
    begin
      if key='.' then
        if pos('.',Edit1.text)=0 then exit;
      if not ( key in['0'..'9',#8,'.']) then
        key:=#0;
    end
      

  5.   

    在Edit的控件的OnKeyPress的事件中加入如下代码即可
    if not ( key in['0'..'9',#8,'.']) then
       key:=#0;
      

  6.   

    运行已通过:
    在Edit的OnKeyPress中
    precud.........
    var i:integer;
    begin
      if not (Key In['0'..'9','.',#8,#13]) then
         begin
           key:=#0;
           showmessage('请输入数字!');
         end
      else if key='.' then
         begin
           i:=length(Edit1.text)+1;
           Edit1.Maxlength:=Length(Edit1.Text)+3;
         end
      else if key=#8 then
             if Pos('.',Edit1.text)=Length(Edit1.text) then
                Edit1.MaxLength:=0;
    end;
      

  7.   


      var p:integer;tp:TPoint;
      begin
     if key in['0'..'9','+','-','.'] then
     begin
     if key in ['+','-'] then
     begin
     p:=pos ('+',edit1.Text)+pos ('-',edit1.Text);
     if p>0 then key:=#0
     else
     begin getcaretpos(tp);
     if tp.x>1 then key:=#0;
     end;
     end
     else if key='.' then
     begin
     p:=pos('.',edit1.Text);
     if p>0 then key:=#0;
     end;
     end
     else  if key>#31 then key:=#0;
     end;
      

  8.   

    用TMASKEDIT吧,不过也不是很理想。比较死板。
      

  9.   

    上次的程序还有点Bug不好意思,我又该了一下
    定义全局变量
    var flag: bool=true; 
    在Edit的OnKeyPress中
    begin
      if not (Key In['0'..'9','.',#8,#13]) then
         begin
           key:=#0;
           showmessage('请输入数字!');
         end
      else if (flag) and (key='.') then
         begin
           flag:=false;
           Edit1.Maxlength:=Length(Edit1.Text)+3;
         end
     else if not (flag) and (key='.') then
         key:=#0
     else if key=#8 then
             if Pos('.',Edit1.text)=Length(Edit1.text) then
                begin
                  Edit1.MaxLength:=0;
                  flag:=true;
                end;
    end;
      

  10.   

    up : fenglik(风易)