struct wnjianmao   //这里改成delphi的class,还是record?
{        unsigned short int MessageCode; //0~1 16~109表示产品
        unsigned short int MessageDate; //2~3 传输日期,1/1/1970以来的Julian日期
        unsigned long  int MessageTime; //4~6传输时间,GMT时间,0~86399秒
        unsigned long  int MessageLength; //7~11 数据长度(字节数)
        unsigned short int SourceID;    //12~13 RDA的ID号
        unsigned short int DestinationID;  //14~15 数据接受ID号
       unsigned short int BlocksNumber; //16~17 数据块个数
         short int BlockDivider; //18~19 数据块分隔符,为-1
                 long  int RadarLatitude; //20~23 雷达站经度,单位:0.001度
                 long  int RadarLongtitude; //24~27雷达站纬度,单位:0.001度
                 short int RadarHeight;   //28~29 海拔高度,单位:英尺
                 short int ProductCode;   //30~31 产品代号
                 short int OperationalMode; //32~33 运行模式,
                                            // 0=Maintenance 
                                            // 1=Clear Air 
                                            // 2=Precipitation/Server Weather 
                 short int VolumeCoveragePattern; //34~35 VCP方式
        unsigned short int SequenceNumber;     //36~37 产品生成序列号
        unsigned short int VolumeScanNumber;  //38~39 体扫计数,1~80之间循环
        unsigned short int VolumeScanDate;    //40~41 体扫日期(Julian-1/1/70) 
       unsigned long int VolumeScanTime;    //42~45 体扫时间(GMT)
        unsigned short int ProductGenerationDate;//46~47产品生成日期 
        unsigned  long int ProductGenerationTime;  //48~51 产品生成GMT时间
                 short int P1;    //52~53 
                 short int P2;    //54~55
                 short int ElevationNumber; //56~57 表示体扫中的第几个仰角层(1~20) 
                 short int P3;    //58~59
                 short int DataLevelThreshold[16]; //60~91 数据分级门限值
                 short int P4;    //92~93
                 short int P5;    //94~95
                 short int P6;    //96~97
                 short int P7;    //98~99
                 short int P8;    //100~101
                 short int P9;    //102~103
                 short int P10;   //104~105
                 short int NumberOfMaps; //106~107 底图数据中的块数; 
                         // Version;   高字节表示 产品的版本号,原始产品为0;
// StopBlank;  低字节1=Stop ON, 2=Stop OFF
        unsigned long  int OffsetToSymbology;    //108~111
        unsigned long  int OffsetToGraphic;      //112~115
        unsigned long  int OffsetToTabular;      //116~119
         short nGraDiv;//分隔符=-1
           short nBlockId;//数据类型标志=1 2  3 
}; wnjianmao  nn;
AnsiString ff;
if(OpenDialog1->Execute())
 {ff=OpenDialog1->FileName;
}
else
return;
fp = fopen(ff.c_str(),"rb");  //这里怎么改成delphi的?fread(&nn,sizeof(nn),1,fp);  // 这句怎么改?  
AnsiString ff;
if(OpenDialog1->Execute())
 {ff=OpenDialog1->FileName;
}
else
return;
fp = fopen(ff.c_str(),"rb");fread(&nn,sizeof(nn),1,fp);

解决方案 »

  1.   

    var
     h:Integer;
     nn:wnjianmao;
    beginh := FileOpen( 文件名 , fmOpenRead  );
    FileRead( h , nn , SizeOf(wnjianmao) );
    end;
      

  2.   

    结构体里面的类型转换C++                                     Delphi            RangeChar                                   ShortInt               -128 to 127-                                            Char                 1 ASCII character (0 to 255)Int, Short                              SmallInt               -32,768 to 32,767Long                                  Integer / LongInt           -2,147,483,647 to 2,147,483,647Unsigned Char                        Byte                    0 to 255Unsigned Int / Unsigned Short   Word                   0 to 65,535Unsigned Long                      Cardinal / Longword   0 to 4,294,967,295Float                                  Single                    3.4E-38 TO 3.4E+38Double                               Double / Comp      1.7E-308 TO 1.7E+308Long Double                              Extended                3.4E-4932 TO 3.4E+4932Void                                   Pointer                 N/A -- an untyped pointer-                                               Boolean               True or FalseString                                  -                          a C++ standard object-                                               String                  An array of up to 255 ASCII characterschar FAR *                            Pchar               Pointer to a null-terminated stringunsigned short FAR *               PWORD           Type of pointerLPWSTR                                PWideChar      Type of pointerLPTSTR                                PAnsiChar      Type of pointer
      

  3.   

    发帖的时候没有设置问题点数导致积分不够,不能给hongqi162 分了,十分抱歉啊!