请教:    在TEdit控件中录入用户信息,如何检测录入的内容全部为数字?    多谢!

解决方案 »

  1.   

    用TMaskEdit直接支持
    或者用TEdit.OnKeyPress事件里面自己判断
      

  2.   

    另一方法是利用Delphi的异常处理机制:
    编写一个小函数如下:function isNumber(str:String):Boolean;
    begin
    result:=true;
    try
      strtofloat(str);
    except
      result:=false
    end;
    end;当指定的字符串是数字时,返回值为真,否则为假。
      

  3.   

    在TEdit.OnKeyPress(Sender)里
    begin
    if Key not in [0..9] then 
    exit;
    end;
      

  4.   

    在TEdit的OnExit事件中写入:try
      StrToFloat(Edit1.Text);
    except
      ShowMessage('必须输入数字');
      Edit1.SetFocus;
    end;可以在TEdit的OnKeyPress时间中通过
    if not (Key in [#8, '0'..'9',DecimalSeparator]) then
      Key:=#0;控制
      

  5.   

    Edit1OnChange
    var
    i : integer;
    begin
    try
       i := StrtoInt(Edit1.Text);
    except
       ShowMessage('Error!');
    end;
    end;
      

  6.   

    給你個函數!function isint(txt: string):boolean;
    var  i:integer;begin
    for i:=1 to length(txt) do
       if  (txt[i] in ['0'..'9'])  then  Result :=true
       else Result :=false;
    end;