想判断EDIT。TEXT是否输入非数字,如下:
if 。。 then
        begin
        application.MessageBox('请输入数值','提示',MB_OK);
        exit;
        end
怎么写判断一个string类型的字符串是否包含非数字的函数。谢谢!

解决方案 »

  1.   

    (*//
    标题:检查数字字符串
    说明:使用于运用程序检查用户数字输入
    设计:Zswang
    日期:2002-01-24
    支持:[email protected]
    //*)///////Begin Source
    function IsNumber(mStr: string): Boolean; { 返回字符串是否是正确的数字表达 }
    var
      I: Real;
      E: Integer;
    begin
      Val(mStr, I, E);
      Result := E = 0;
      E := Trunc(I);
    end; { IsNumber }function IsInteger(mStr: string): Boolean; { 返回字符串是否是正确的整数表达 }
    var
      I: Integer;
      E: Integer;
    begin
      Val(mStr, I, E);
      Result := E = 0;
      E := Trunc(I);
    end; { IsInteger }function IsHex(mStr: string): Boolean; { 返回字符串是否是正确的十六进制表达 }
    var
      I: Integer;
    begin
      Result := true;
      for I :=1 to Length(mStr) do
      begin
       //P := Copy(mStr,I,0);
       if Pos(Upcase(mStr[I]),'0123456789ABCDEF')>0 then
         Result :=Result and true
       else
         Result :=Result and false;
      end;
    end;
    ///////End Source///////Begin Demo
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      CheckBox1.Checked := IsNumber(Edit1.Text);
      CheckBox2.Checked := IsInteger(Edit1.Text);
    end;
    ///////End Demo
      

  2.   

    try
      StrToInt(Edit1.Text);
    except
      showmessage('有非数字字符');
    end;