union
{
DWORD           dwMagic;
#define MAGIC_INDEXINFO   'FIXI'  DWORD           dwFlag;
#define  BK_FLAG_UNIPID           0x000000001
#define  BK_FLAG_BACKUPTIME       0x000000002
#define  BK_FLAG_FILESIZE         0x000000004
};请问上面C++代码,转换成DELPHI语法,应该是什么样子啊?
还有一个小问题,
info.dwFlag |= BK_FLAG_FILENAMEBACKUP;这个应该如何转换成delphi语法呢?

解决方案 »

  1.   

    这个应该是delphi中的枚举类型吧,如果不是,以下仅做参考:
    type
      someType=(BK_FLAG_UNIPID=1,BK_FLAG_BACKUPTIME=2,BK_FLAG_FILESIZE=3)
      

  2.   

    type
    Tinfo=record
     case Byte of
          vtInteger:  ( dwMagic: dword; dwFlag: dword);end;
    const
       MAGIC_INDEXINFO =  'FIXI';
       BK_FLAG_UNIPID      =     $000000001;
       BK_FLAG_BACKUPTIME  =     $000000002;
       BK_FLAG_FILESIZE    =     $000000004;...
      info.dwFlag :=   info.dwFlag or BK_FLAG_FILENAMEBACKUP;
      

  3.   

    上面有错
    真正的union应该是
    Tinfo= packed record
     case Byte of
          0:  ( dwMagic: dword);
          1:  (dwFlag: dword);end;