VB声明:
Public Declare Function del_allc Lib "ACIC03.DLL" (cCOm As Com_data_Master) As Integer在Delphi中如何用
这样行吗?
interface
public
Fenction gDel_Alloc (cCom As Com_data_Master) As
Smallint:stacall;external'acic03.dll';
这样行吗???
接下来,封装有关的API函数,和调用函数来实现和下位机通信就可以了吗?希望对串口通信和一卡通有经验的大哥多多帮忙!!谢谢!!在线等!小弟求救了!!谢谢!!
Public Declare Function del_allc Lib "ACIC03.DLL" (cCOm As Com_data_Master) As Integer在Delphi中如何用
这样行吗?
interface
public
Fenction gDel_Alloc (cCom As Com_data_Master) As
Smallint:stacall;external'acic03.dll';
这样行吗???
接下来,封装有关的API函数,和调用函数来实现和下位机通信就可以了吗?希望对串口通信和一卡通有经验的大哥多多帮忙!!谢谢!!在线等!小弟求救了!!谢谢!!
解决方案 »
- 100分求教:DBGrid列标是否可以多层?
- 请教Com不同实例方法调用的问题
- 读写磁带机与定位问题???????请大伙们帮帮忙
- 请问如何打印TScrollBox中得所有得内容?
- 视频桌面如何实现? 就像 WinDVD 那样直接在 Windows 桌面上播放.
- MDI程序中,如何屏蔽掉子窗口的右上角的最小化和关闭按钮
- 关于treeview问题
- ADO中怎么用DataSource传递参数呀?
- 为什么我的delphi的 分析组件(决策)不好用?当把active设为true时提示出错,各位大虾请帮忙
- 请教一下关于“内网”delphi网页数据连续采集问题?
- 介绍信一个很好的免费电影网站,不过我要预先声明,要自己登陆来累积分数。绝对免费是不可能的。
- 急:在delphi中控制服务的重启
需要自己定义的吧。
找到定义的地方,再delphi中也定义类似的对象类型。然后照你上面写就可以了。
procedure IO_Close();stdcall;external '.\IOCard.dll';
function IO_Init(const wid:hWnd):UINT;stdcall;external '.\IOCard.dll';
参数如果是变量,则应该用var cCom:Com_data_Master这样声明。
del_allc删除所有的正常卡
适用控制器:除卡钟外所有控制器
命令: 0xceVC声明:
unsigned short del_allc(Com_data_Master &)VB声明:
Public Declare Function del_allc Lib "ACIC03.DLL" (cCOm As Com_data_Master) As Integer输入参数:
Com_data_Master结构:
com_port 通信串口号 "001" - "255"
chl_id 通道编号 "000" - "127"
cntl_id 控制器ID "000" - "127"
re_value 函数输出值
VC声明
typedef struct COMM_STRUCTURE_MARSTER
{
unsigned char com_port[3];
unsigned char chl_id[3];
unsigned char cntl_id[3];
unsigned char re_value[MAXRETURNVALUE];
}Com_data_Master; VB声明
Public Type Com_data_Master
Com_Port As String * 3
chl_id As String * 3
cntl_id As String * 3
re_value As String * MAXRETURNVALUE
End Type const MAXRETURNVALUE = 34函数返回值:
83: 通信成功。
87: 通信失败。
82: 控制器没有响应。
86: 输入参数无效。函数描述:
删除控制器中的所有正常卡。输出值格式(函数执行成功):
"FA" 控制器接受了无效命令(控制器不支持该命令)。
"FB" 删除成功。例子: Dim cCom as Com_data_Master
dim nRet as long cCom.com_port = "001"
cCom.chl_id = "127"
cCom.cntl_id = "001"
nRet = del_allc( cCom )
适用控制器: 中文版、56、D5N
命令: 0xc6
VC声明:
unsigned short enab_alarm(Com_data_Master &, Flag2 &, Flag2 &, Flag2 &, Flag2 &, Flag2 &, Flag2 &, Flag2 &)
VB声明:
Public Declare Function enab_alarm Lib "ACIC03.DLL" (cCOm As Com_data_Master, u_Flag1 As Flag2, u_flag2 As Flag2, u_flag3 As Flag2, u_flag4 As Flag2, u_flag5 As Flag2, u_flag6 As Flag2, u_flag7 As Flag2) As Integer
输入参数:
Com_data_Master结构:
com_port 通信串口号 "001" - "255"
chl_id 通道编号 "000" - "127"
cntl_id 控制器ID "000" - "127"
re_value 函数输出值
VC声明
typedef struct COMM_STRUCTURE_MARSTER
{
unsigned char com_port[3];
unsigned char chl_id[3];
unsigned char cntl_id[3];
unsigned char re_value[MAXRETURNVALUE];
}Com_data_Master; VB声明
Public Type Com_data_Master
Com_Port As String * 3
chl_id As String * 3
cntl_id As String * 3
re_value As String * MAXRETURNVALUE
End Type const MAXRETURNVALUE = 34 FLAG2结构:
STATUS 使能标志"0","1"
1st flag2 强行闯入警报使能标志 ("0", "1")
2nd flag2 门警报使能标志 ("0", "1")
3rd flag2 手动开门时区使能标志 ("0" , "1")
4th flag2 警报时区使能标志 ("0", "1")
5th flag2 开门过长时区使能标志 ("0" , "1")
6th flag2 开门过长触发警报使能标志 ("0" , "1")
7th flag2 电锁时区使能标志 ("0" , "1")
VC:
typedef struct FLAG2_TYPE
{
unsigned char status[1];
}Flag2;
VB:
Public Type Flag2
Status As String * 1
End Type函数返回值:
83: 通信成功。
87: 通信失败。
82: 控制器没有响应。
86: 输入参数无效。函数描述:
设置控制器的警报状态。输出值格式(函数执行成功):
"FA" 控制器接受了无效命令(控制器不支持该命令)。
"FB" 设置成功。例子: Dim cCom as Com_data_Master
Dim f1 as Flag2
Dim f2 as Flag2
Dim f3 as Flag2
Dim f4 as Flag2
Dim f5 as Flag2
Dim f6 as Flag2
Dim f7 as Flag2
dim nRet as long f1.Status = "1"
f2.Status = "1"
f3.Status = "1"
f4.Status = "1"
f5.Status = "1"
f6.Status = "1"
f7.Status = "1"
cCom.com_port = "001"
cCom.chl_id = "127"
cCom.cntl_id = "001"
nRet = enab_alarmic( cCom, f1,f2,f3,f4,f5,f6,f7 )变量和常量的定义在
interface
public
Fenction gDel_Alloc (cCom As Com_data_Master) As
Smallint:stacall;external'acic03.dll';
下定义吗?
请救救小弟!!谢谢!!