如何使拥护只输入在Tedit控件中只输入一个小数??(注意:是Tedit不是Tmaskedit).
并且精度为4?

解决方案 »

  1.   

    procedure TPotsConfigfrm.EdtAG_ACVOLKeyPress(Sender: TObject;
      var Key: Char);
    var
      Tempstr:string;
      nPos:integer;
    begin
      Tempstr := TEdit(Sender).Text;  if Key = '-' then
        begin
        if (Sender as TEdit).SelStart <> 0 then
           Key := #0 ;
        Exit ;
        end ;  if key = '.' then
        begin
        nPos := Pos('.',Tempstr);
        if (nPos > 0)or(length(Tempstr)=0) then
          key := #0;
        Exit;
        end;  if Key in [#33..#47, #58..#126] then
         begin
         Key := #0 ;
         end ;
    end;
      

  2.   

    procedure TForm1.Edit1KeyPress(Sender: TObject;
      var Key: Char);
    var
      strTemp: string;
    begin
      strTemp:= TEdit(Sender).Text;
      if not (Key in ['0'..'9', Char(VK_RETURN), Char(VK_BACK), Char(VK_DELETE),
        '.', '-']) then
        Key := #0
      else begin
        if Key = '-' then
        begin
          if TEdit(Sender).SelStart <> 0 then
            Key := #0 ;
          Exit ;
        end ;
        if key = '.' then
        begin
          if Pos('.',strTemp)> 0 then
            key := #0;
          Exit;
        end;
      end;
      
    end;
      

  3.   

    在keypress事件中,
      if not (key in['0'..'9',#8,#13,'.']) then
         key:=#0;
    //#8 is vk_back
      

  4.   

    楼上的只是让它输入数字,主人要的是小数
    同意wyb716