如题

解决方案 »

  1.   

    //只能输入数字和小数点
      if not (key in['0'..'9','.',#8]) then key:=#0;
      

  2.   

    用maskedit修改editmask属性为Extension
      

  3.   

    try 
      strtoint(edit1.text);
    except
      your program
    end;
      

  4.   

    SetWindowLong(Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
      

  5.   

    lhyang761030(云儿)说的对,其他的好像都不太方便或者不能用。
      

  6.   

    Try
    inttofloat(edit1.text);
    except
    showmessage('输入的不是数字');
    edit1.text:='';
    edit1.setfocus;
    end;
      

  7.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in['0'..'9','.','-']) then
        key:=#0
      else if key='-' then   //负号处理
      with (Sender as TCustomEdit) do begin
        if Text<>'' then begin
          if (Text[1]='-') then
            Text := Copy(Text, 2, Length(Text))
          else
            Text := '-' + Text;
        end;
      end else if key='.' then  //小数点处理
      with (Sender as TCustomEdit) do begin
        if Text<>'' then begin
          if Pos('.', Text)>0 then
            key:=#0;
        end;
      end;
    end;