在Edit中如何限制只能输入“0...9”跟“-”?

解决方案 »

  1.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (key < #48) or (Key > #57) then
        Key := #0;
    end;
      

  2.   

    if (key < #48) or (Key > #57) then
      if Key <> '-' then
        Key := #0;
      

  3.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if (key < #48) or (Key > #57) then
        Key := #0;
    end;
      

  4.   

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

  5.   

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

  6.   

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

  7.   

    if not (key in ['0'..'9','-',#46]) then
        key := #0;