?? 實時通信實例.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 + -