怎么用程序来判断?

解决方案 »

  1.   

    procedure TForm1.Edit1KeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if not (Key in [$30..$39, 8]) then
      begin
        Key := 0;
      end;
    end;
      

  2.   

    其中$30..$39表示数字0..9, 8表示BackSpace键
      

  3.   

    Key := 0;是实现了。但是字母还是打上去了。还在edit里面
      

  4.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not (Ord(Key) in [$30..$39, 8]) then
      begin
        Key := #0;
      end;
    end;
      

  5.   

    这样防止不了别人复制粘贴进来的字符
    建议还是在提交数据的时候进行检查
    try
      int_value := StrToInt(your_edit.text);
    except
      ShowMessage("Input error");
      exit;
    end;
      

  6.   

    这样防止不了别人复制粘贴进来的字符
    建议还是在提交数据的时候进行检查
    try
      int_value := StrToInt(your_edit.text);
    except
      ShowMessage("Input error");
      exit;
    end;
      

  7.   

    KEY:=0好象没有什么用,没有把EDIT清了。而且我感觉应该把程序写在
    procedure TForm3.Edit2KeyUp(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
    if not (Key in [$30..$39, 8]) then
      begin
       edit2.Clear;    <---加这个把他清了。
      end;
    end;