如和判断TEdit里输入的是否是数字,如果是返一个值否则返回另一个值

解决方案 »

  1.   

    在TEdit的keypress事件中加入以下代码:
    if (Key in ['0'..'9']) then
      showmessage('数字');
      

  2.   

    在keypress事件中
    if key in [0..9] then
     x:=1
    else
     x:=2;
      

  3.   

    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
    begin
     if not (key in['0'..'9']) then
       showmessage('不是数字');
    end;
      

  4.   

    也可以用ord判断key的ASII码:
    if (ord(key) <= ord ('9') and ord(key) >= ord('0')) then
        ....
      

  5.   

    try
      strtoFloat(Edit1.Text);
      ShowMessage('Edit1中是一个数字');
    except
      ShowMessage('Edit1中不是一个数字');
    end;
      

  6.   

    另一种方法try
      strtoint(edit.text);
      showmessage('数字');
    except
      showmessage('非数字');
    end;还有一种方法,使用MaskEdit
      

  7.   

    在keypress事件中加入以下代码:
    if (Key in ['0'..'9']) then
      showmessage('数字');