⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 利用DLL对IC卡进行发卡充值的PB VF BCB DELPHI VC等源代码程序,内有详细说明
💻 PAS
📖 第 1 页 / 共 2 页
字号:
                  -13:listbox1.Items.add('消费机使用卡查询失败:写卡错!');
                  -15:listbox1.Items.add('消费机使用卡查询失败:不可识别的卡!');
             else
                 listbox1.Items.add('消费机使用卡查询失败!');
             end
         END;

     st:=WRT_Pos_UserCard(icdev,100,cardserno,100);
     if st=0 then
        begin
          listbox1.Items.add('用户卡写值成功:写入金额100 卡ID号:'+inttostr(cardserno));
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('用户卡写值100失败:读写器通讯错!');
                  -3:listbox1.Items.add('用户卡写值100失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('用户卡写值100失败:参数错!');
                  -7:listbox1.Items.add('用户卡写值100失败:找不到卡!');
                  -11:listbox1.Items.add('用户卡写值100失败:用户卡错误!');
                  -12:listbox1.Items.add('用户卡写值100失败:读卡错!');
                  -13:listbox1.Items.add('用户卡写值100失败:写卡错!');
                  -15:listbox1.Items.add('用户卡写值100失败:不可识别的卡!');
             else
                 listbox1.Items.add('用户卡写值100失败!');
             end
         END;

     st:=Query_Pos_Card(icdev,cardtype,opt_num,serno,pchar(cardno),cardserno,value,count,usertype,100);
     if st=0 then
        begin
          listbox1.Items.add('消费机使用卡查询成功:金额:'+inttostr(value div 100)+' 消费次数:'+inttostr(count)+' 卡ID号:'+inttostr(cardserno));
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('消费机使用卡查询失败:读写器通讯错!');
                  -3:listbox1.Items.add('消费机使用卡查询失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('消费机使用卡查询失败:参数错!');
                  -7:listbox1.Items.add('消费机使用卡查询失败:找不到卡!');
                  -11:listbox1.Items.add('消费机使用卡查询失败:用户卡错误!');
                  -12:listbox1.Items.add('消费机使用卡查询失败:读卡错!');
                  -13:listbox1.Items.add('消费机使用卡查询失败:写卡错!');
                  -15:listbox1.Items.add('消费机使用卡查询失败:不可识别的卡!');
             else
                 listbox1.Items.add('消费机使用卡查询失败!');
             end
         END;

     st:=RST_Pos_UserCard(icdev,cardserno,100);
     if st=0 then
        begin
          listbox1.Items.add('回收消费机用户卡'+inttostr(cardserno)+'成功');
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('回收消费机用户卡失败:读写器通讯错!');
                  -3:listbox1.Items.add('回收消费机用户卡失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('回收消费机用户卡失败:参数错!');
                  -7:listbox1.Items.add('回收消费机用户卡失败:找不到卡!');
                  -11:listbox1.Items.add('回收消费机用户卡失败:用户卡错误!');
                  -12:listbox1.Items.add('回收消费机用户卡失败:读卡错!');
                  -13:listbox1.Items.add('回收消费机用户卡失败:写卡错!');
                  -15:listbox1.Items.add('回收消费机用户卡失败:不可识别的卡!');
             else
                 listbox1.Items.add('回收消费机用户卡失败!');
             end
         END;
end;

procedure TForm1.btnaddClick(Sender: TObject);
var
   serno:integer;
   cardno:pchar;
   usertype:integer;
   cardserno:cardinal;
   cardtype:integer;
   opt_num:integer;
   value:integer;
   count:integer;
begin
//     cardno:=stralloc(10);
     cardno:='0000000001';
     listbox1.Clear();
     st:=Init_Pos_UserCard_N(icdev,1,cardno,1,10000,2,10,addr(cardserno));
     if st=0 then
        begin
          listbox1.Items.add('补发消费用户卡成功:卡号:'+inttostr(cardserno)+' 金额:100 消费次数:2');
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('补发消费机用户卡失败:读写器通讯错!');
                  -3:listbox1.Items.add('补发消费机用户卡失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('补发消费机用户卡失败:参数错!');
                  -7:listbox1.Items.add('补发消费机用户卡失败:找不到卡!');
                  -11:listbox1.Items.add('补发消费机用户卡失败:用户卡错误!');
                  -12:listbox1.Items.add('补发消费机用户卡失败:读卡错!');
                  -13:listbox1.Items.add('补发消费机用户卡失败:写卡错!');
                  -15:listbox1.Items.add('补发消费机用户卡失败:不可识别的卡!');
             else
                 listbox1.Items.add('补发消费机用户卡失败!');
             end
         END;

     st:=Query_Pos_Card(icdev,cardtype,opt_num,serno,cardno,cardserno,value,count,usertype,10);
     if st=0 then
        begin
          listbox1.Items.add('消费机使用卡查询成功:金额:'+inttostr(value div 100)+' 消费次数:'+inttostr(count)+' 卡ID号:'+inttostr(cardserno));
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('消费机使用卡查询失败:读写器通讯错!');
                  -3:listbox1.Items.add('消费机使用卡查询失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('消费机使用卡查询失败:参数错!');
                  -7:listbox1.Items.add('消费机使用卡查询失败:找不到卡!');
                  -11:listbox1.Items.add('消费机使用卡查询失败:用户卡错误!');
                  -12:listbox1.Items.add('消费机使用卡查询失败:读卡错!');
                  -13:listbox1.Items.add('消费机使用卡查询失败:写卡错!');
                  -15:listbox1.Items.add('消费机使用卡查询失败:不可识别的卡!');
             else
                 listbox1.Items.add('消费机使用卡查询失败!');
             end
         END;

     st:=RST_Pos_UserCard(icdev,cardserno,10);
     if st=0 then
        begin
          listbox1.Items.add('回收消费机用户卡'+inttostr(cardserno)+'成功');
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('回收消费机用户卡失败:读写器通讯错!');
                  -3:listbox1.Items.add('回收消费机用户卡失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('回收消费机用户卡失败:参数错!');
                  -7:listbox1.Items.add('回收消费机用户卡失败:找不到卡!');
                  -11:listbox1.Items.add('回收消费机用户卡失败:用户卡错误!');
                  -12:listbox1.Items.add('回收消费机用户卡失败:读卡错!');
                  -13:listbox1.Items.add('回收消费机用户卡失败:写卡错!');
                  -15:listbox1.Items.add('回收消费机用户卡失败:不可识别的卡!');
             else
                 listbox1.Items.add('回收消费机用户卡失败!');
             end
         END;
//    strdispose(cardno);

end;

procedure TForm1.btnoptClick(Sender: TObject);
var
   cardserno:cardinal;
begin
     listbox1.Clear();
     st:=Init_Pos_OPTCard(icdev,222,10,addr(cardserno));
     if st=0 then
        begin
          listbox1.Items.add('初始化消费机操作员卡成功:用户卡卡号:'+inttostr(cardserno));
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('初始化消费机操作员卡失败:读写器通讯错!');
                  -3:listbox1.Items.add('初始化消费机操作员卡失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('初始化消费机操作员卡失败:参数错!');
                  -7:listbox1.Items.add('初始化消费机操作员卡失败:找不到卡!');
                  -11:listbox1.Items.add('初始化消费机操作员卡失败:用户卡错误!');
                  -12:listbox1.Items.add('初始化消费机操作员卡失败:读卡错!');
                  -13:listbox1.Items.add('初始化消费机操作员卡失败:写卡错!');
                  -15:listbox1.Items.add('初始化消费机操作员卡失败:不可识别的卡!');
             else
                 listbox1.Items.add('初始化消费机操作员卡失败!');
             end
         END;

     st:=RST_Pos_OPTCard(icdev,cardserno,10);
     if st=0 then
        begin
          listbox1.Items.add('回收消费机操作员卡'+inttostr(cardserno)+'成功');
        end
     else
         BEGIN
             case st of
                  -2:listbox1.Items.add('回收消费机操作员卡失败:读写器通讯错!');
                  -3:listbox1.Items.add('回收消费机操作员卡失败:没有消费系统授权信息!');
                  -5:listbox1.Items.add('回收消费机操作员卡失败:参数错!');
                  -7:listbox1.Items.add('回收消费机操作员卡失败:找不到卡!');
                  -11:listbox1.Items.add('回收消费机操作员卡失败:用户卡错误!');
                  -12:listbox1.Items.add('回收消费机操作员卡失败:读卡错!');
                  -13:listbox1.Items.add('回收消费机操作员卡失败:写卡错!');
                  -15:listbox1.Items.add('回收消费机操作员卡失败:不可识别的卡!');
             else
                 listbox1.Items.add('回收消费机操作员卡失败!');
             end
         END;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
     listbox1.Clear();
     icdev:=OpenComm(1);
     if icdev>0 then
        begin
             st:=Check_Reader(icdev);
             if st<>0 then
                begin
                     icdev:=OpenComm(0);
                     if icdev>0 then
                        begin
                             st:=Check_Reader(icdev);
                             if st<>0 then
                                begin
                                   listbox1.Items.Add ('读写器通讯错!');
                                end
                             else
                                 begin
                                    messagebeep(10);
                                    listbox1.Items.Add('初始化串口成功! 串口号:'+inttostr(icdev));
                                    btnsys.Enabled :=true;
                                    btnmj.Enabled :=true;
                                    btnxf.Enabled :=true;
                                    btnadd.Enabled :=true;
                                    btnopt.Enabled :=true;
                                 end
                        end
                     else
                         begin
                             listbox1.Items.Add ('读写器通讯错!');
                         end
                end
             else
                 begin
                     messagebeep(10);
                     listbox1.Items.Add('初始化串口成功! 串口号:'+inttostr(icdev));
                     btnsys.Enabled :=true;
                     btnmj.Enabled :=true;
                     btnxf.Enabled :=true;
                     btnadd.Enabled :=true;
                     btnopt.Enabled :=true;
                 end
        end
     else
         begin
             listbox1.Items.Add ('找不到串口!');
         end
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
     if icdev>0 then
        begin
             st:=CloseComm(icdev);
        end
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -