|
板凳
发表于 2025-6-21 17:29:16
|
只看该作者
广东省东莞市
窗口程序集名 | 保 留 | 保 留 | 备 注 | 窗口程序集_启动窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 设备句柄 | 整数型 | | 是否已连接 | 逻辑型 | | 自动读卡模式 | 逻辑型 | | 蜂鸣提示 | 逻辑型 | | 上次读卡时间 | 长整数型 | | 初始化界面 ()检查SDK文件 ()标题 = "神思读卡器优化版" 按钮_连接.标题 = "连接设备" 按钮_断开.标题 = "断开连接" 按钮_断开.禁止 = 真 按钮_读卡.禁止 = 真 状态条1. 置文本 (0, "就绪" ) 超级列表框1. 插入列 (0, "信息类型", 100 )超级列表框1. 插入列 (1, "信息内容", 300 )超级列表框1.显示网格线 = 真 蜂鸣提示 = 真 选择框_蜂鸣提示.选中 = 真 如果真 (文件是否存在 (取运行目录 () + "\ SS628 (100 )X.dll" ) = 假) 信息框 (" SDK文件缺失,请将SS628 (100 )X.dll放入程序目录", #错误图标, "错误" ) 结束 () .局部变量 端口号, 整数型 端口号 = 1001 设备句柄 = DLL命令_打开设备 (端口号 ) 如果 (设备句柄 > 0 ) 是否已连接 = 真  按钮_连接.禁止 = 真  按钮_断开.禁止 = 假  按钮_读卡.禁止 = 假  状态条1. 置文本 (0, "设备连接成功" ) 时钟_状态监测.时钟周期 = 1000   状态条1. 置文本 (0, "连接失败,错误码: " + 到文本 (设备句柄 ))  .局部变量 结果, 整数型 结果 = DLL命令_关闭设备 (设备句柄 ) 如果 (结果 = 0 ) 是否已连接 = 假  按钮_连接.禁止 = 假  按钮_断开.禁止 = 真  按钮_读卡.禁止 = 真  状态条1. 置文本 (0, "设备已断开" ) 时钟_状态监测.时钟周期 = 0  时钟_自动读卡.时钟周期 = 0   状态条1. 置文本 (0, "断开失败,错误码: " + 到文本 (结果 )) 读取sfz信息 ()自动读卡模式 = 选择框_自动读卡.选中 如果 (自动读卡模式 ) 时钟_自动读卡.时钟周期 = 500  状态条1. 置文本 (0, "自动读卡模式已启用" )  时钟_自动读卡.时钟周期 = 0  状态条1. 置文本 (0, "自动读卡模式已关闭" ) 蜂鸣提示 = 选择框_蜂鸣提示.选中 .局部变量 状态, 整数型 状态 = DLL命令_获取设备状态 (设备句柄 )状态条1. 置文本 (1, 获取状态描述 (状态 )) |
(暂未填写DLL命令名) | | | |
(未填写库文件名) | |
(未填写命令名) | |
状态码 | 整数型 | | |
判断 (状态码 = 0 ) 返回 ("状态: 正常" ) 判断 (状态码 = -1 ) 返回 ("状态: 未连接" ) 判断 (状态码 = 1 ) 返回 ("状态: 设备忙" ) 判断 (状态码 = 2 ) 返回 ("状态: 通讯错误" ) 判断 (状态码 = 3 ) 返回 ("状态: 未发现卡片" ) 返回 ("状态: 未知 (" + 到文本 (状态码 ) + " )" ) .局部变量 卡片状态, 整数型 如果真 (取启动时间 () - 上次读卡时间 < 1000 ) 返回 ()卡片状态 = DLL命令_检测卡片 (设备句柄 ) 如果 (卡片状态 = 1 ) 读取sfz信息 () 上次读卡时间 = 取启动时间 ()  如果 (卡片状态 < 0 )  状态条1. 置文本 (0, "读卡错误: " + 到文本 (卡片状态 ))   .局部变量 信息, 个人信息 .局部变量 照片数据, 字节集 .局部变量 照片长度, 整数型 .局部变量 读卡结果, 整数型 照片长度 = 1024 * 3 照片数据 = 取空白字节集 (照片长度 ) 读卡结果 = DLL命令_读基本信息 (设备句柄, 信息.姓名, 信息.性别, 信息.民族, 信息.出生日期, 信息.住址, 信息.sfz号, 信息.签发机关, 信息.有效起始, 信息.有效截止 ) 如果 (读卡结果 ≠ 0 ) 状态条1. 置文本 (0, "读取失败: " + 到文本 (读卡结果 ))  如果 (蜂鸣提示 ) DLL命令_蜂鸣提示 (设备句柄, 300 ) 返回 () DLL命令_读取照片 (设备句柄, 照片数据, 照片长度 ) 显示sfz信息 (信息, 照片数据 ) 如果 (蜂鸣提示 ) DLL命令_蜂鸣提示 (设备句柄, 100 )  |
(暂未填写DLL命令名) | | | |
(未填写库文件名) | |
(未填写命令名) | |
信息 | 个人信息 | | | 照片数据 | 字节集 | | |
超级列表框1. 全部删除 () 如果 (照片数据 [1 ] ≠ 0 ) 图片框1.图片 = 照片数据   图片框1.图片 = { } 添加信息项 ("姓名", 信息.姓名 )添加信息项 ("性别", 信息.性别 )添加信息项 ("民族", 信息.民族 )添加信息项 ("出生日期", 信息.出生日期 )添加信息项 ("sfz号", 信息.sfz号 )添加信息项 ("住址", 信息.住址 )添加信息项 ("签发机关", 信息.签发机关 )添加信息项 ("有效期", 信息.有效起始 + "至" + 信息.有效截止 )|
(暂未填写DLL命令名) | | | |
(未填写库文件名) | |
(未填写命令名) | |
类型 | 文本型 | | | 内容 | 文本型 | | |
.局部变量 索引, 整数型 索引 = 超级列表框1. 插入表项 (-1, 类型, , , , )超级列表框1. 置标题 (索引, 1, 内容 ) 如果真 (是否已连接 ) DLL命令_关闭设备 (设备句柄 ) .程序集变量 姓名, 文本型 .程序集变量 性别, 文本型 .程序集变量 民族, 文本型 .程序集变量 出生日期, 文本型 .程序集变量 住址, 文本型 .程序集变量 sfz号, 文本型 .程序集变量 签发机关, 文本型 .程序集变量 有效起始, 文本型 .程序集变量 有效截止, 文本型 |
DLL命令_打开设备 | 整数型 | | |
SS628(100)X.dll | |
OpenComm | |
端口号 | 整数型 | | |
|
DLL命令_关闭设备 | 整数型 | | |
SS628(100)X.dll | |
CloseComm | |
设备句柄 | 整数型 | | |
|
DLL命令_检测卡片 | 整数型 | | |
SS628(100)X.dll | |
CardDetect | |
设备句柄 | 整数型 | | |
|
DLL命令_读基本信息 | 整数型 | | |
SS628(100)X.dll | |
ReadBaseInfo | |
设备句柄 | 整数型 | | | 姓名 | 文本型 | | | 性别 | 文本型 | | | 民族 | 文本型 | | | 出生日期 | 文本型 | | | 住址 | 文本型 | | | sfz号 | 文本型 | | | 签发机关 | 文本型 | | | 有效起始 | 文本型 | | | 有效截止 | 文本型 | | |
|
DLL命令_读取照片 | 整数型 | | |
SS628(100)X.dll | |
ReadPhoto | |
设备句柄 | 整数型 | | | 照片数据 | 字节集 | | | 照片长度 | 整数型 | | |
|
DLL命令_获取设备状态 | 整数型 | | |
SS628(100)X.dll | |
GetDevState | |
设备句柄 | 整数型 | | |
|
DLL命令_蜂鸣提示 | 整数型 | | |
SS628(100)X.dll | |
Beep | |
设备句柄 | 整数型 | | | 持续时间 | 整数型 | | |
|
|