📄 实时通信实例.txt
字号:
//申明下述函数:
//InitPort
//CheckMacLink
//ChangeComSet
//Realtime
//OpenAccountEx
//DelAccountEx
//RestoreMachEx
//ClosePort
//-------------------------------------
//---------实时通信-------------------------
int main(int Port, int MacNo)
{
void *hIc;
char szBuff[25];
int nCount = 0
hIc = InitPort(Port);//端口初始
if (!CheckMacLink(hIc, MacNo)//测试连接是否成功
goto labExit;
RestoreMachEx(hIc);//机器复位
if (!ChangeComSet(hIc, 0))//改变端口设置
goto labExit;
while (nCount < 10)
{
memset(szBuff, '\0', 25);
Realtime(hIc, 3, szBuff);//时实读刷卡信息
if ((AnsiString)szBuff != "" && (AnsiString)szBuff != "000000")
{
nCount++;
printf("%03d\tCard No:%s\0", szBuff);
}
}
labExit:
ClosePort(hIc);//关闭通信
}
//------------实时下传开户---------------
int main(int Port, int MacNo)
{
void *hIc;
char CardInfo[25];
int nCount = 0
hIc = InitPort(Port);//端口初始
if (!CheckMacLink(hIc, MacNo)//测试连接是否成功
goto labExit;
if (!ChangeComSet(hIc, 1))//改变端口设置
goto labExit;
while (nCount < 10)
{
memset(CardInfo, '\0', 25);
{
..........//将卡信息置入CardInfo (KKKKKKWWWWWWNNNNNN)
OpenAccountEx(hIc, CardInfo);//开户
}
//或
{
//..........//将卡信息置入CardInfo (KKKKKK)
//DelAccountEx(hIc, CardInfo);销户
}
}
labExit:
RestoreMachEx(hIc);//机器复位
ClosePort(hIc);//关闭通信
}
==============delphi 的例子==========================================================
function InitPort(Port: integer): Longint; stdcall external 'ic_dll.dll';
function CheckMacLink(Port:Longint; Mach: integer): boolean; stdcall external 'ic_dll.dll';
function ClosePort(Port: Longint): integer; stdcall external 'ic_dll.dll';
procedure RestoreMachEx(Prot:longint); stdcall external 'ic_dll.dll';
function ChangeComSet(Port:Longint; Mode: integer): boolean; stdcall external 'ic_dll.dll';
function Realtime(Port:Longint; Mach: integer; var kh: array of char): boolean; stdcall external 'ic_dll.dll';
procedure TForm1.Button1Click(Sender: TObject);
var i, n: Longint;
s: array[0..7] of char;
j: string;
begin
i := InitPort(1); //初始化端口
if CheckMacLink(i, 3) then //测试通信是否成功
begin
sleep(100);
RestoreMachEx(i) ; //机器复位
sleep(100);
if ChangeComSet(i, 0) then //改变端口设置
for n := 1 to 1000 do
begin
Realtime(i, 3, s); //返回值
j := string(s);
if (j <> '') and (j <> '000000') then
memo1.Lines.Add(j);
end;
end;
ClosePort(i);
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -