function VarIsType(const V: Variant; AVarType: TVarType): Boolean; overload;
该函数怎么用,我的用法:
var
   k:Variant;
begin
 k:=edit1.text;
 if  VarIsType(k,varinteger) then
   showmessage('ok')
 else
   showmessage('no');
end;怎么随便是什么值,都返回false,输入整数也是。?????

解决方案 »

  1.   

    var b:string;c:integer;
    begin
     if  VarIsType(b,varstring) then
       showmessage('ok')
     else
       showmessage('no');
     if  VarIsType(c,varinteger) then
       showmessage('ok')
     else
       showmessage('no');end;
      

  2.   

    function VarIsType(const V: Variant; AVarType: TVarType): Boolean; overload;
    该函数怎么用,我的用法:
    var
       k:Variant;
    begin
     k:=edit1.text;
     
     result := false;
     if  VarIsType(k,varinteger) then
     begin
       showmessage('ok');
       resutl := true;
     end  
     else
       showmessage('no');
    end;
      

  3.   

    var
       k:Variant;
    begin
     k:=edit1.text;//这时你的k已经是字符串类型的, if  VarIsType(k,varinteger) then
       showmessage('ok')
     else
       showmessage('no');
     k := StrToInt(Edit1->Text);   //换成integer型再看看结果如何
     if  VarIsType(k,varinteger) then
       showmessage('ok')
     else
       showmessage('no');
    end;
      

  4.   

    edit1.text是字符型的,
    你的程序根本就没有整型的数据
      

  5.   

    result := false;
    是有必要的
      

  6.   

    function VarIsType(const V: Variant; AVarType: TVarType): Boolean; overload;
    该函数怎么用,我的用法:
    var
       k:Variant;
    begin
     k:=strtoint(edit1.text); //录入整数时,就会弹出ok对话框
     if  VarIsType(k,varinteger) then
       showmessage('ok')
     else
       showmessage('no');
    end;
      

  7.   

    支持sywind(来如风)
    k:=edit1.text;//这时你的k已经是字符串类型的
    这里k已经是str了
    我用strtoint(k),如果输入数字可以得到ok!
      

  8.   

    不如自己写一个函数,我写了一个不过小数只能判断0.00001以上的数:
    function TForm1.IsInteger(v: variant): Boolean;
    begin
      try
        if Frac(v) <= 0 then
          Result := True
        else
          Result := False;
      except
          ShowMessage('参数无效!');
          Result := False;
      end;
    end;
      

  9.   

    function VarIsType(const V: Variant; AVarType: TVarType): Boolean;
    是判断变量V在程序中是否被定义为AVarType型变量,而不是判断变量V的值是否是AVarType型的
      

  10.   

    一个小办法 可以试试
    var data:double;
    .....;
    if data=int(data) then
    begin
      Showmessage("An Integer!!");
    end
    else
    begin
      Showmessage("A Float!!");
    end;