因为要到现场才能实际调试,想请有经验的人看看对不对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;