调用wlanapi.dll函数,回来的值的数据类型是Cardinal,如何转换成Integer类型?
Integer -2147483648..2147483647 signed 32-bit
Cardinal 0..4294967295          unsigned 32-bit

解决方案 »

  1.   

    可以直接赋值给Integer变量,不用转吧。
      

  2.   

    只要在数值范围之内,直接赋值都没问题
    procedure   TForm1.FormCreate(Sender:   TObject); 
    var 
        a:   Cardinal; 
        b:   Integer; 
    begin 
        a   :=   20; 
        b   :=   a; 
        b   :=   -40; 
        a   :=   b; 
    end;
      

  3.   

    由于Integer是带符号数,Cardinal是无符号数,在Delphi中,只要Cardinal的数值不超过2147483647这个Integer可表达的最大数就不会错,如超出则产生溢出,变成负数。如你返回的数值超过了Integer表达的最大数,可以改用类型:int64.