USB接口IC读写器oem软件_AB密码完整解决方案/读写卡测试程序及源代码/powerbuilder源代码_读写器写入密码-程序员宅基地

技术标签: library  string  测试  function  integer  subroutine  

界面

 

 

 

 

 

 

详细代码如下:

 

$PBExportHeader$w_test.srw
$PBExportComments$ST-803U读写器
forward
global type w_test from window
end type
type cb_5 from commandbutton within w_test
end type
type cb_4 from commandbutton within w_test
end type
type cb_3 from commandbutton within w_test
end type
type cb_2 from commandbutton within w_test
end type
type cb_1 from commandbutton within w_test
end type
end forward

global type w_test from window
integer width = 2464
integer height = 1128
boolean titlebar = true
string title = "Untitled"
boolean controlmenu = true
boolean minbox = true
boolean maxbox = true
boolean resizable = true
long backcolor = 67108864
string icon = "AppIcon!"
boolean center = true
cb_5 cb_5
cb_4 cb_4
cb_3 cb_3
cb_2 cb_2
cb_1 cb_1
end type
global w_test w_test

type prototypes
//ST-803U读写器
//020-82301718 138-26029618 王生 [email protected]
FUNCTION Integer piccreadex ( Char ctrlword , REF Char serial[4] , Integer area , Integer keyA1B0 , Char picckey[6] , REF Char piccdata0_2[48] ) LIBRARY "OUR_MIFARE.dll" //读卡
FUNCTION Integer piccwriteex ( Char ctrlword , Char serial[4] , Integer area , Integer keyA1B0 , Char picckey[6] , Char piccdata0_2[48] ) LIBRARY "OUR_MIFARE.dll" //写卡
FUNCTION Integer pcdbeep ( Integer xms ) LIBRARY "OUR_MIFARE.dll" //设备发声
FUNCTION Integer piccchangesinglekey ( Char ctrlword , Char serial[4] , Integer area , Integer keyA1B0 , Char piccoldkey[6] , Char piccnewkey[6] ) LIBRARY "OUR_MIFARE.dll" //修改密码
FUNCTION Integer pcdgetdevicenumber ( REF Char devicenumber[4] ) LIBRARY "OUR_MIFARE.dll" //读设备编号
FUNCTION Integer piccrequest ( REF Char serial[4] ) LIBRARY "OUR_MIFARE.dll" //寻卡并返回该卡的序列号
FUNCTION Integer piccrequestex ( REF Char serial[4] ) LIBRARY "OUR_MIFARE.dll" //寻卡并选中指定序列号的IC卡
FUNCTION Integer piccauthkey1 ( Char serial[4] , Integer area , Integer keyA1B0 , Char picckey[6] ) LIBRARY "OUR_MIFARE.dll" //密码认证方式1
FUNCTION Integer piccauthkey2 ( Char serial[4] , Integer area , Integer keyA1B0 ) LIBRARY "OUR_MIFARE.dll" //密码认证方式2
FUNCTION Integer pcdwritekeytoe2 ( Integer area , Integer keyA1B0 , Char picckey[6] ) LIBRARY "OUR_MIFARE.dll" //将密码写入芯片内部保密性极高的只写区域
FUNCTION Integer piccread ( Integer block , REF Char piccdata[48] ) LIBRARY "OUR_MIFARE.dll" //读块
FUNCTION Integer piccwrite ( Integer block , Char piccdata[48] ) LIBRARY "OUR_MIFARE.dll" //写块
FUNCTION Integer picchalt ( ) LIBRARY "OUR_MIFARE.dll" //休眠选中卡

end prototypes
type variables
PRIVATE:
CONSTANT PRIVATE Integer BLOCK0_EN = 1
CONSTANT PRIVATE Integer BLOCK1_EN = 2
CONSTANT PRIVATE Integer BLOCK2_EN = 4
CONSTANT PRIVATE Integer NEEDSERIAL = 8
CONSTANT PRIVATE Integer EXTERNKEY = 16
CONSTANT PRIVATE Integer NEEDHALT = 32

end variables

forward prototypes
public subroutine msgbox (string as_msg)
end prototypes

public subroutine msgbox (string as_msg);MessageBox ( "标题" , as_msg )

end subroutine

on w_test.create
this.cb_5=create cb_5
this.cb_4=create cb_4
this.cb_3=create cb_3
this.cb_2=create cb_2
this.cb_1=create cb_1
this.Control[]={this.cb_5,&
this.cb_4,&
this.cb_3,&
this.cb_2,&
this.cb_1}
end on

on w_test.destroy
destroy(this.cb_5)
destroy(this.cb_4)
destroy(this.cb_3)
destroy(this.cb_2)
destroy(this.cb_1)
end on

type cb_5 from commandbutton within w_test
integer x = 91
integer y = 676
integer width = 457
integer height = 128
integer taborder = 50
integer textsize = -9
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string text = "设备编号"
end type

event clicked;//设备编号
String ls_tmp
Integer li_rtn
Char devicenumber[4]
li_rtn = pcdgetdevicenumber ( devicenumber )
ls_tmp = String ( Asc (devicenumber[1]) ) +"-"+ String ( Asc (devicenumber[2]) ) +"-"+ String ( Asc (devicenumber[3]) ) +"-"+ String ( Asc (devicenumber[4]) )
debugbreak ()
MsgBox ( ls_tmp )

end event

type cb_4 from commandbutton within w_test
integer x = 91
integer y = 528
integer width = 457
integer height = 128
integer taborder = 40
integer textsize = -9
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string text = "设备发声"
end type

event clicked;//设备发声
Integer li_rtn
li_rtn = pcdbeep (1000)

end event

type cb_3 from commandbutton within w_test
integer x = 91
integer y = 380
integer width = 457
integer height = 128
integer taborder = 30
integer textsize = -9
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string text = "修改密码"
end type

event clicked;//修改密码
Integer li_rtn, area, keya1b0
Char ctrlword, serial[4], piccoldkey[6], piccnewkey[6]

area = 1
keya1b0 = 1
ctrlword = Char ( BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY )
piccoldkey = { "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" }
piccnewkey = { "~h31" , "~h31" , "~h31" , "~h31" , "~h31" , "~h31" }
li_rtn = piccchangesinglekey ( ctrlword , serial , area , keya1b0 , piccoldkey , piccnewkey )
DebugBreak ()
CHOOSE CASE li_rtn
 CASE 0
  MsgBox("操作成功")
 CASE 8
  MsgBox("请将卡放在感应区")
 CASE 21 //没有动态库
  MsgBox("找不到接口文件ICUSB.DLL和OUR_MIFARE.dll")
 CASE ELSE
  MsgBox("异常")
END CHOOSE

end event

type cb_2 from commandbutton within w_test
integer x = 91
integer y = 232
integer width = 457
integer height = 128
integer taborder = 20
integer textsize = -9
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string text = "写卡操作"
end type

event clicked;//写卡
Integer li_rtn, i, area, keya1b0
Char ctrlword, serial[4], picckey[6], piccdata0_2[48]

area = 1
keya1b0 = 1
ctrlword = Char ( BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY )
picckey = { "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" }
for i = 1 to 48
 piccdata0_2[i] = "~h33"
next
li_rtn = piccwriteex ( ctrlword , serial , area , keya1b0 , picckey , piccdata0_2 )
DebugBreak ()
CHOOSE CASE li_rtn
 CASE 0
  MsgBox("操作成功")
 CASE 8
  MsgBox("请将卡放在感应区")
 CASE 21 //没有动态库
  MsgBox("找不到接口文件ICUSB.DLL和OUR_MIFARE.dll")
 CASE ELSE
  MsgBox("异常")
END CHOOSE

end event

type cb_1 from commandbutton within w_test
integer x = 91
integer y = 84
integer width = 457
integer height = 128
integer taborder = 10
integer textsize = -9
integer weight = 400
fontcharset fontcharset = ansi!
fontpitch fontpitch = variable!
fontfamily fontfamily = swiss!
string facename = "Arial"
string text = "读卡操作"
end type

event clicked;//读卡
Integer i, li_rtn, area, keya1b0
Char ctrlword, serial[4], picckey[6], piccdata0_2[48]

area = 1
keya1b0 = 1
ctrlword = Char ( BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY ) // + NEEDSERIAL
picckey = { "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" , "~hFF" }
li_rtn = piccreadex ( ctrlword , serial , area , keya1b0 , picckey , piccdata0_2 )
DebugBreak ()
CHOOSE CASE li_rtn
 CASE 0
  MsgBox("操作成功")
 CASE 8
  MsgBox("请将卡放在感应区")
 CASE 21 //没有动态库
  MsgBox("找不到接口文件ICUSB.DLL和OUR_MIFARE.dll")
 CASE ELSE
  MsgBox("异常")
END CHOOSE

end event

 

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/car_reader/article/details/6550807

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签