C中的代码
struct CINFTBL{
UCHAR htid[6];
UCHAR htdmy[2];
long adv;
long fileno;
long filesize;
long jobcmd;
long datatype;
};
转化为delphi的代码,这样写对吗?
type
 CINFTBL=^TCINFTBL;
 TCINFTBL=record
htid:array[0..5] of String;
htdm:array[0..1] of String;
adv,fileno,filesize,jobcmd,datatype:Integer;
end;不对的话应该怎样写?

解决方案 »

  1.   

    type
     CINFTBL=^TCINFTBL;
     TCINFTBL=packed record
    htid:array[0..5] of char;
    htdm:array[0..1] of char;
    adv,fileno,filesize,jobcmd,datatype:Integer;
    end;
      

  2.   

    type
     TCINFTBL=record
    htid:array[0..5] of char;
    htdm:array[0..1] of char;
    adv,fileno,filesize,jobcmd,datatype:Integer;
    end;
      

  3.   

    如果是在VC下的结构转换过来就是:
    type
     TCINFTBL=record
       htid:array[0..5] of UCHAR;  //UCHAR = Byte;Byte是个无符号整数取值为0..255
       htdm:array[0..1] of UCHAR;  
       adv,fileno,filesize,jobcmd,datatype: Int64;  //Int64 取值-2^63..2^63 -1
    end;
      

  4.   

    type
       TCINFTBL=record
    htid:array[0..5] of char;
    htdm:array[0..1] of char;
    adv,fileno,filesize,jobcmd,datatype:Integer;
    end;
      

  5.   

    经过测试UCHAR、CHAR、BYTE都可以!
    谢谢大家!