procedure TIDCardRead_F.ReadIDCard;
var
iRet : integer;
begin
while (PortEnable) and (StartReadID) do
begin
Sleep(1000);
iRet:= SDT_StartFindIDCard(Port, pucSn, 1); //查卡
if iRet = 159 then
iRet:= SDT_SelectIDCard(Port,pucSn,1) //选卡
else Continue;
if iRet= 144 then
begin
puiCHMsgLen:=0;
puiPHMsgLen:=0;
iRet:= SDT_ReadBaseMsgToFile(1001, 'wz.txt',puiCHMsgLen, 'zp.wlt',puiPHMsgLen,1); //存储文件
end
else Continue;
if iRet =144 then
begin
UsbOrCom:='U';//连接的类型是通过Usb端口
if UsbOrCom ='U' then
iRet := GetBmp('zp.wlt',2)
else if UsbOrCom='C' then //如果连接的类型是Com端口
iRet := GetBmp('zp.wlt',1);
if iRet=1 then
begin
img_XP.Picture.LoadFromFile('zp.bmp');
IDCard.InitInfo(ExtractFilePath(Application.ExeName) +'wz.txt');
lblID_Name.Caption:= IDCard.Name;
lblID_Sex.Caption:= IDCard.Sex_CName;
lblID_Nation.Caption:= IDCard.NATION_CName;
lblID_Birth.Caption:= IDCard.BIRTH;
lblID_Addr.Caption:= IDCard.ADDRESS;
lblID_ID.Caption:= IDCard.IDC;
lblID_Depart.Caption:= IDCard.REGORG;
lblID_Time.Caption:= IDCard.STARTDATE +'-'+IDCard.ENDDATE;
DeleteFile('zp.bmp');
DeleteFile('wz.txt');
end
else
Continue;
end;
end;
end;这段代码有人能帮我解释下吗?我想针对这些做些修改,它这里是不是不停的在进行读取。
while (PortEnable) and (StartReadID) do这个?
那如果我在while循环外面执行呢?
他的那个while循环是不是如果读取出来了。就停止循环
没细琢磨该代码,只是猜测
http://download.csdn.net/download/zhangzhen_927116/6029247