首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

Delphi 身份证读取的一段代码。分未几

2013-09-05 
Delphi 身份证读取的一段代码。分不多procedure TIDCardRead_F.ReadIDCardvariRet : integerbeginwhile (

Delphi 身份证读取的一段代码。分不多


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和StartReadID貌似是在外部定义的。

热点排行