大華科技的SDK不支持Delphi,如果想用Delphi調用大華科技SDK裏面的接口,需要先把其中C頭文件轉換成Delphi的pas文件。文件壓縮包裏面的兩個文件(DHNetSDK.pas和DHConfigSDK.pas)是我用我自己編寫的程序自動轉換而成來Delphi版大華科技sdk接口文件,其中只有#if語句或宏函數等極爲個別的地方使用手工做轉換。 本人未對此兩個文件做過完整的測試,僅供參考,如有問題歡迎留言
對應的大華科技SDK版本:1119451_General_NetSDK_Chn_Win32_IS_V3.052.0000001.1.R.200514
下載地址:https://download.csdn.net/download/BlueStorm/12509733
代碼樣例:
const
DH_SERIALNO_LEN = 48; // 設備序列號字符長度
DH_MAX_DISKNUM = 256; // 最大硬盤個數
DH_MAX_SDCARDNUM = 32; // 最大SD卡個數
DH_MAX_BURNING_DEV_NUM = 32; // 最大刻錄設備個數
DH_BURNING_DEV_NAMELEN = 32; // 刻錄設備名字最大長度
DH_MAX_LINK = 6;
DH_MAX_CHANNUM = 16; // 最大通道個數
DH_MAX_DECODER_CHANNUM = 64; // 解碼器最大通道數
DH_MAX_ALARMIN = 128; // 最大報警輸入個數
DH_MAX_ALARMOUT = 64; // 最大報警輸出個數
DH_MAX_RIGHT_NUM = 100; // 用戶權限個數上限
DH_MAX_GROUP_NUM = 20; // 用戶組個數上限
DH_MAX_USER_NUM = 200; // 用戶個數上限
DH_RIGHT_NAME_LENGTH = 32; // 權限名長度
DH_USER_NAME_LENGTH = 8; // 用戶名長度
DH_USER_PSW_LENGTH = 8; // 用戶密碼長度
DH_CUSTOM_NAME_LENGTH = 32; // 自定義名稱長度
DH_USER_NAME_LEN_EX = 32; // 用戶名長度,用於新平臺擴展
DH_USER_PSW_LEN_EX = 32; // 用戶密碼長度,用於新平臺擴展
DH_MEMO_LENGTH = 32; // 備註長度
DH_MAX_STRING_LEN = 128;
MAX_STRING_LINE_LEN = 6; // 最多六行
MAX_PER_STRING_LEN = 20; // 每行最大長度
DH_MAX_MAIL_NAME_LEN = 64; // 新的郵件結構體支持的用戶名長度
DH_MAX_MAIL_PSW_LEN = 64; // 新的郵件結構體支持的密碼長度
DH_SPEEDLIMIT_TYPE_LEN = 32; // 限速類型字符串長度
DH_VEHICLE_TYPE_LEN = 32; // 車載自定義信息類型字符串長度
DH_VEHICLE_INFO_LEN = 32; // 車載自定義信息字符串長度
DH_VEHICLE_DRIVERNO_LEN = 32; // 車載自定義信息司機工號字符串長度
DH_MAX_CROSSING_NUM = 128; // 最大點位
DH_MAX_CROSSING_ID = 32; // 路口序列號最大長度
DH_MAX_CARD_INFO_LEN = 256; // 卡號信息最大長度
DH_MAX_CHANNUM_EX = 32; // 最大通道數擴展
DH_MAX_SAERCH_IP_NUM = 256; // 最大搜索IP個數
DH_MAX_HARDDISK_TYPE_LEN = 32; // 硬盤型號最大長度
DH_MAX_HARDDISK_SERIAL_LEN = 32; // 硬盤序列號最大長度
DH_MAX_SIM_LEN = 16; // SIM卡的值的最大長度
DH_MAX_SIM_NUM = 10; // 車載SIM卡最大個數
DH_MAX_VERSION_LEN = 32; // 軟件版本號最大長度
DH_MAX_MDN_LEN = 36; // MDN的值的最大長度
DH_MAX_NETINTERFACE_NUM = 64; // 支持的網卡個數
// 人體歷史庫以圖搜圖回調信息
type
NET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC = record
nToken: UINT; // 查詢令牌
nProgress: UINT; // 查詢進度百分比
nTotalCount: UINT; // 滿足條件的總條數
nHistoryResultNum: INT; // 歷史庫以圖搜圖查詢結果數量
stuHistoryResult: array[0..32-1] of NET_RESULT_OF_HUMANHISTORY_BYPIC; // 歷史庫以圖搜圖查詢結果信息
bReserved: array[0..1024-1] of BYTE; // 預留字節數
end;
LPNET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC = ^NET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC;
// 訂閱人體歷史庫以圖搜圖回調函數原型, lAttachHandle爲CLIENT_AttachResultOfHumanHistoryByPic接口的返回值
type
fResultOfHumanHistory = procedure(lAttachHandle: LLONG; pstesult: LPNET_CB_RESULT_OF_HUMAN_HISTORY_BYPIC; pBinBuf: PAnsiChar; nBinBufLen: INT; dwUser: LDWORD); stdcall;
// CLIENT_AttachResultOfHumanHistoryByPic 接口輸入參數
type
NET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = record
dwSize: DWORD; // 結構體大小
nToken: UINT; // 查詢令牌, 由CLIENT_StartFindFaceRecognition返回
cbResultOfHumanHistory: fResultOfHumanHistory; // 訂閱人體歷史庫以圖搜圖回調函數
dwUser: LDWORD; // 用戶數據
end;
LPNET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = ^NET_IN_ATTACH_RESULT_HUMAN_HISTORY_BYPIC;
// CLIENT_AttachResultOfHumanHistoryByPic 接口輸出參數
type
NET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = record
dwSize: DWORD; // 結構體大小
end;
LPNET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC = ^NET_OUT_ATTACH_RESULT_HUMAN_HISTORY_BYPIC;
// CLIENT_DetectFace接口輸入參數
type
NET_IN_DETECT_FACE = record
dwSize: DWORD;
stPicInfo: DH_PIC_INFO; // 大圖信息
// 圖片二進制數據
pBuffer: PAnsiChar; // 緩衝地址
nBufferLen: INT; // 緩衝數據長度
end;
LPNET_IN_DETECT_FACE = ^NET_IN_DETECT_FACE;
// 獲取設備系統能力
function CLIENT_GetSystemCaps(lLoginID: LLONG; pInParam: LPNET_IN_SYSTEM_GETCAPS; pOutParam: LPNET_OUT_SYSTEM_GETCAPS; nWaitTime: INT): BOOL; stdcall; external 'CLIENT_NET_API.dll';
/////////////////////////////////淘汰接口 Start/////////////////////////////////
// 查詢系統服務器配置;該接口已淘汰,請使用CLIENT_GetDevConfig
function CLIENT_QueryConfig(lLoginID: LLONG; nConfigType: INT; pConfigbuf: PAnsiChar; maxlen: INT; nConfigbuflen: PINT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';
// 設置系統服務器配置;該接口已淘汰,請使用CLIENT_SetDevConfig
function CLIENT_SetupConfig(lLoginID: LLONG; nConfigType: INT; pConfigbuf: PAnsiChar; nConfigbuflen: INT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';
// 該接口已淘汰,請不要使用
function CLIENT_Reset(lLoginID: LLONG; bReset: BOOL): BOOL; stdcall; external 'CLIENT_NET_API.dll';
// 查詢串口協議 - 該接口已淘汰,請使用CLIENT_GetDevConfig
function CLIENT_QueryComProtocol(lLoginID: LLONG; nProtocolType: INT; pProtocolBuffer: PAnsiChar; maxlen: INT; nProtocollen: PINT; waittime: INT = 1000): BOOL; stdcall; external 'CLIENT_NET_API.dll';
// 開始對講;該接口已淘汰,請使用CLIENT_StartTalkEx
function CLIENT_StartTalk(lRealHandle: LLONG; bCustomSend: BOOL = false): BOOL; stdcall; external 'CLIENT_NET_API.dll';
// 結束對講;該接口已淘汰,請使用CLIENT_StopTalkEx
function CLIENT_StopTalk(lRealHandle: LLONG): BOOL; stdcall; external 'CLIENT_NET_API.dll';