比如在一个EDIT中我想输入的为数字
如输入其它就提示错误

解决方案 »

  1.   

    写OnKeyPress事件
    if not (key in ['0'..'9',#8]) then 
    begin
      key := #0;
      showmessage('输入错误!');
    end;
      

  2.   

    上一位是对每次输入进行判断
    我这儿是输入完成后,执行时一起判断
    for i:=1 to eidt1.GetTextLen do
    case edit.Text[i] of
    '0'..'9','.':
    else
    messagedlg('数据格式错误!',mtwarning,[mbok],0);
    exit;
    end;
      

  3.   

    procedure TForm5.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
    try
    StrtoInt(Edit1.Text);
    except
    On EConvertError do
    end;
    end;
      

  4.   

    再问一下我想在radiobtn.checked=true时
    才让editkeypress事件起作用要怎么办呢
      

  5.   

    radiobtn Onchange事件
    if (radiobtn.Checked = True) then
      Edit2.OnKeyPress := Edit2KeyPress
    else
      Edit2.OnKeyPress := nil;
      

  6.   

    if (radiobtn.Checked = True) then
      Edit2.OnKeyPress := Edit2KeyPress
    else
      Edit2.OnKeyPress := nil;
    或者
    用一個BOOLEAN 類型的變量去控制,判斷其TRUE 和 FALSE
      

  7.   

    ft,其实有更简单的:)
    procedure TForm5.Edit2KeyPress(Sender: TObject; var Key: Char);
    begin
      if (radiobtn.Checked = False) then Exit;
      ....
      ....
    end;