我想在edit框里让用户只能输入数字,如果是其它的字符就不能输入或者就有提示出再,请高手指教!在线等,谢谢。

解决方案 »

  1.   

    procedure form1.edit1keyPress(sender :Tobject;Key :char)
      begin
          if word(key)=46 then
          begin
            if strpos(Pchar(StringGrid.cells[col,row]),chr(46))<>nil then
              key:=chr(0);
          end
          else if (word(key)<>8) and (word(key)<47) or (word(key)>57) then key:=chr(0);
      end;
      

  2.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in ['0'..'9', #8])then
      begin
        key := 0;
        ShowMessage('请输入数字');
      end;
    end;
      

  3.   

    上面写错了
    应该是#0
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
      if not(key in ['0'..'9', #8])then
      begin
        key := #0;//---
        ShowMessage('请输入数字');
      end;
    end;
      

  4.   

    在delphi7.0中没有现成的函数吗?
      

  5.   

    没有
    如果真要的话就这样写把
    try 
       a:= strtoint(edit1.text)
    excepy
       showmessage('error')
    end;
      

  6.   

    下面的函数应该可以,
    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    var
      value: Integer;
    begin
      if not (tryStrToInt(edit1.text, value)) then  //-----
      begin
        key := #0;
        showmessage('error') ;
      end;
    end;