C语言的头文件 谁帮忙翻译Delphi一下呀(100)

  • 主题发起人 主题发起人 hgto2008
  • 开始时间 开始时间
H

hgto2008

Unregistered / Unconfirmed
GUEST, unregistred user!
谁帮忙翻译Delphi一下呀。手动抓拍:#define PLATE_INFO_LEN 1024#define PLATE_NUM_LEN 16#define FILE_NAME_LEN 256结构:typedef struct tagNET_DVR_PLATE_RET{ DWORD dwSize; //结构长度 BYTE byPlateNum[PLATE_NUM_LEN]
//车牌号 BYTE byVehicleType
// 车类型 BYTE byRes1[3]; //保留 BYTE byInfo[PLATE_INFO_LEN];//用来存放抓拍图片的时间信息 DWORD dwPicLen;}NET_DVR_PLATE_RET, *LPNET_DVR_PLATE_RET;/*注:后面紧跟 dwPicLen 长度的 图片 信息*/函数:NET_DVR_API BOOL __stdcall NET_DVR_INVOKE_PLATE_RECOGNIZE(LONG lUserID, LONG lChannel, char *pPicFileName, LPNET_DVR_PLATE_RET pPlateRet, char *pPicBuf, DWORD dwPicBufLen)
Desc: 触发车牌识别,并获取车牌识别信息 Input: lUserID, NET_DVR_Login 的返回值 lChannel, 通道号,从1开始,球机只有一个通道1 pPicFileName, 车牌识别图片保存的文件名 Output: pPlateRet, 车牌识别结果信息 pPicBuf, 车牌识别图片保存的缓冲区地址, 文件存放的文件名和缓冲区可以只设置一个; pBufLen, 保存图片的缓冲区大小 Return: TRUE/FALSE
 
非技术题里面不是发过了吗。const PLATE_INFO_LEN = 1024
PLATE_NUM_LEN = 16
FILE_NAME_LEN = 256;type tagNET_DVR_PLATE_RET = record dwSize: LongInt
byPlateNum: Array[0..PLATE_NUM_LEN-1] of BYTE
byVehicleType: BYTE
byRes1: Array[0..3-1] of BYTE
byInfo: Array[0..PLATE_INFO_LEN-1] of BYTE
dwPicLen: LongInt
end {tagNET_DVR_PLATE_RET};function NET_DVR_INVOKE_PLATE_RECOGNIZE(lUserID: LongInt
lChannel: LongInt
pPicFileName: PChar
var pPlateRet: NET_DVR_PLATE_RET
pPicBuf: PChar
dwPicBufLen: LongInt): NET_DVR_API BOOL cdecl {$IFDEF WIN32} stdcall {$ENDIF};
 
type pTagNet_DVR_PLATE_RET = ^tagNET_DVR_PLATE_RET;//指针定义 tagNET_DVR_PLATE_RET = record dwSize: LongInt
byPlateNum: Array[0..PLATE_NUM_LEN-1] of BYTE
byVehicleType: BYTE
byRes1: Array[0..3-1] of BYTE
byInfo: Array[0..PLATE_INFO_LEN-1] of BYTE
 
能不能简单写一下调用过程呀?谢谢了。本来刚学
 
function NET_DVR_INVOKE_PLATE_RECOGNIZE(lUserID, lChannel: LongInt
pPicFileName: PChar
pPlateRet: pTagNet_DVR_PLATE_RET
pPicBuf: PChar
dwPicBufLen: DWORD): NET_DVR_API BOOL cdecl {$IFDEF WIN32} stdcall {$ENDIF ,windows下面对于类型可以适当的变一下,只要不影响功能,如果不是要求完全完全翻译的话,NET_DVR_API BOOL 这个可以变为Boolean型,LongInt也可以变成Integer试试,如果没有特殊定义的话
 
谁帮忙简单写一下调用过程呀?谢谢了。
 
如定义一个procedure.....var Flag : boolean;begin Flag := NET_DVR_INVOKE_PLATE_RECOGNIZE(22, 267, pPlateRet, pPicBuf, 436)
//pPlateRet需要初始化,同样pPcBuf也是 //其他几个是整形的数据,我就直接随便写数字代替了 //返回的boolean型数据我保存到Flag中 //至于pPlateRet之类的结构体指针初始化需要先 New(pPlateRet)
然后赋值; //最后Dispose(pPlateRet)
//差不多了,就这些end;
 
调用的时候出现pTagNet_DVR_PLATE_RET 与tagNET_DVR_PLATE_RET类型不配错误。
 
调用的参数应该是pTagNet_DVR_PLATE_RET 类型的定义结构体指针的数据一般如 pPlateRet^.dwSize := ...这样估计调用的参数pPlateRet定义成tagNET_DVR_PLATE_RET去了
 
仔细看一下我上面写的函数定义和注释,应该没有问题
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
873
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
934
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部