求高手指点:C++ 结构体嵌套联合体嵌套结构体 代码翻译为 PAS:40分

lyfe_1980 2013-08-16 05:10:01
.h 文件中有一段结构体嵌套联合体嵌套结构体的定义,应该如何转换为PAS中的结构体?

/* 控制网络文件回放 */
typedef struct
{
DWORD dwSize;
char sDecoderIP[16]; /* DVR IP地址 */
WORD wDecoderPort; /* 端口号 */
WORD wLoadMode; /* 回放下载模式 1-按名字 2-按时间 */
union
{
BYTE byFile[100]; /* 回放的文件名 */
struct
{
DWORD dwChannel;
BYTE sUserName[NAME_LEN]; /*请求视频用户名*/
BYTE sPassword[PASSWD_LEN]; /* 密码 */
NET_DVR_TIME struStartTime; /* 按时间回放的开始时间 */
NET_DVR_TIME struStopTime; /* 按时间回放的结束时间 */
}bytime;
}mode_size;
}NET_DVR_PLAYREMOTEFILE, *LPNET_DVR_PLAYREMOTEFILE;

对这种多级嵌套的结构体,联合体 应该怎样翻译为DELPHI pas语句? 请高手帮忙翻译一下。

看过这个帖子:http://bbs.csdn.net/topics/100137483 也没看出个事情来。 小弟混地不好,40分送上。
...全文
187 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
用变体记录就可以了。 const NAME_LEN = ... // 需要你自己定义 PASSWD_LEN = ... // 需要你自己定义 type dword = cardinal; // dword类型定义在windows单元 NET_DVR_TIME = ... // // 需要你自己定义 tbytime = record dwChannel: dword; sUserName: array[0..NAME_LEN - 1] of ansichar; //*请求视频用户名*/ sPassword: array[0..PASSWD_LEN - 1] of ansichar; //* 密码 */ struStartTime: NET_DVR_TIME; //* 按时间回放的开始时间 */ struStopTime: NET_DVR_TIME; //* 按时间回放的结束时间 */ end; tmode_size = record case integer of 0: (byFile: array[0..99] of ansichar); 1: (bytime: tbytime); end; LPNET_DVR_PLAYREMOTEFILE = ^NET_DVR_PLAYREMOTEFILE; NET_DVR_PLAYREMOTEFILE = record dwSize: dword; sDecoderIP: array[0..15] of ansichar; //* DVR IP地址 */ wDecoderPort: word; //* 端口号 */ wLoadMode: word; //* 回放下载模式 1-按名字 2-按时间 */ modesize: tmode_size; end;

1,184

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧