因为要到现场才能实际调试,想请有经验的人看看对不对DLL文件里给的函数说明
int initcomm(int port) 初始化串口 (port=0,1,2,3)
int closecomm() 关闭串口
int atherticate() 身份认证
int read_content(int active) 读卡我写的程序
implementationfunction InitComm (Port:integer):integer;stdcall;external 'termb.DLL'
function CloseComm ():integer;stdcall;external 'termb.DLL'
function Authenticate ():integer;stdcall;external 'termb.DLL'
function Read_Content (Active:integer):integer;stdcall;external 'termb.DLL'{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
li_Ret:integer;
li_Port:integer;
begin
li_ret:=0;
li_Port:=0; try
while not li_ret=1 do
begin
if li_Port<4 then
begin
li_Port:=li_Port+1;
end
else
begin
memo1.Lines.Add('读卡失败,请重新尝试!');
end; li_ret:=Initcomm(li_Port);
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'开启成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'开启失败!');
end; li_ret:=Authenticate();
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'认证成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'认证失败!');
end; li_ret:=Read_content(1);
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'读卡成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'读卡错误!');
-1: memo1.Lines.Add('串口'+inttostr(li_Port)+'相片解码错误!') ;
-5: memo1.Lines.Add('串口'+inttostr(li_Port)+'相片解码软件非法!');
end; li_ret:=CloseComm();
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'关闭成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'关闭失败!');
end;
//return li_ret;
end;
except on E:Exception do
Memo1.Lines.Add(Formatdatetime('yyyy-mm-dd hh:nn:ss',now) +E.Message);
end;end;
int initcomm(int port) 初始化串口 (port=0,1,2,3)
int closecomm() 关闭串口
int atherticate() 身份认证
int read_content(int active) 读卡我写的程序
implementationfunction InitComm (Port:integer):integer;stdcall;external 'termb.DLL'
function CloseComm ():integer;stdcall;external 'termb.DLL'
function Authenticate ():integer;stdcall;external 'termb.DLL'
function Read_Content (Active:integer):integer;stdcall;external 'termb.DLL'{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
li_Ret:integer;
li_Port:integer;
begin
li_ret:=0;
li_Port:=0; try
while not li_ret=1 do
begin
if li_Port<4 then
begin
li_Port:=li_Port+1;
end
else
begin
memo1.Lines.Add('读卡失败,请重新尝试!');
end; li_ret:=Initcomm(li_Port);
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'开启成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'开启失败!');
end; li_ret:=Authenticate();
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'认证成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'认证失败!');
end; li_ret:=Read_content(1);
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'读卡成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'读卡错误!');
-1: memo1.Lines.Add('串口'+inttostr(li_Port)+'相片解码错误!') ;
-5: memo1.Lines.Add('串口'+inttostr(li_Port)+'相片解码软件非法!');
end; li_ret:=CloseComm();
case li_ret of
1: memo1.Lines.Add('串口'+inttostr(li_Port)+'关闭成功!');
0: memo1.Lines.Add('串口'+inttostr(li_Port)+'关闭失败!');
end;
//return li_ret;
end;
except on E:Exception do
Memo1.Lines.Add(Formatdatetime('yyyy-mm-dd hh:nn:ss',now) +E.Message);
end;end;
快来个人给我解答啊