vc动态链接库函数中的word类型转换

haj77 2009-06-24 10:20:56
vc函数原型为:

BOOL HB_SDVR_SetDVRRecord(LONG lUserID,WORD lChannel)
功 能:设置远程手动录像
参 数:lUserID: IP地址用户ID 值,由HB_SDVR _Login 返回
lChannel: 按照低位到高位的顺序表示通道号
返回值::FALSE 表示失败,TRUE表示成功

转为 Delphi function HB_SDVR_SetDVRRecord(lUserID:Longint;lChannel:word):Boolean;
但是lChannel类型转换好像有点问题,比如说lChannel=1和lChannel=2,函数返回正确内容 ,但是在lChannel=3就不正确了,仔细看函数参数说明:“lChannel: 按照低位到高位的顺序表示通道号” ----这个WORD 应该对应 Delphi哪个数据类型???byte? pchar?
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
minizhuxianchun 2009-06-24
  • 打赏
  • 举报
回复
WORD类型是16位的,所以可以表示16个通道,比如要选3号通道的二进制为00000100,十进制为4,所以lChannel表示3号通道的值应为4.很久以前做过类似的东西,好象是北方工控的硬盘录象机
starluck 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 haj77 的回复:]
引用 1 楼 SuperTitan001 的回复:
类型应该没有问题,是不是lChannel=3的时候返回4?
如果是的话就是2进制低位到高位的顺序表示通道号,第几位为1表示几通道




对啊,就是这样的,比如4通道,如何在delphi中赋值
[/Quote]

就是按位存儲,你計算下通通的位值就可以了

SuperTitan001 2009-06-24
  • 打赏
  • 举报
回复
lChannel:=1
if 通道号>1
lChannel:=lChannel shl 通道号
haj77 2009-06-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 SuperTitan001 的回复:]
类型应该没有问题,是不是lChannel=3的时候返回4?
如果是的话就是2进制低位到高位的顺序表示通道号,第几位为1表示几通道
[/Quote]


对啊,就是这样的,比如4通道,如何在delphi中赋值
starluck 2009-06-24
  • 打赏
  • 举报
回复
Word 就是 Word
SuperTitan001 2009-06-24
  • 打赏
  • 举报
回复
类型应该没有问题,是不是lChannel=3的时候返回4?
如果是的话就是2进制低位到高位的顺序表示通道号,第几位为1表示几通道

1,183

社区成员

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

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