在DELPHI中,代码如下: 
//one card  
TCardNumber = packed record  
  case Integer of  
   0:(dwCardNo : Cardinal);   //Decimal:Card No.  
   1:(wCardID,wCardZn : Word); //Wiegand : Card Offset,Card Sector  
   2:(Byte : array[1..3] of byte);  
end; 这段代码是定义的一个什么东西?如题
请大家帮帮我。谢谢

解决方案 »

  1.   

    如果你懂C,那就告诉你
    #pragma pack(push,1)
    typedef union{
    DWORD dwCardNo;
    struct{
    unsigned short wCardID,wCardZn;
    };
    unsigned char Byte[4];
    }TCardNumber ;
    #pragma pack(pop)
    即定义一个(有限的)“万能”类型。或者叫共用体,这个共用体由dwCardNo、wCardID+wCardZn、Byte[4]共用同一内存,以其中占用空间最大的部分确定为该结构的内存空间大小,并以首地址对齐.
      

  2.   

    转成C#的话
    http://msdn2.microsoft.com/zh-cn/library/ya9bz4ha.aspx