|
分享源码
界面截图: |
|
是否带模块: |
- |
备注说明: |
- |
本帖最后由 宇智波·佐助 于 2013-8-18 10:30 编辑
原创纯源码。
很久前写的项目,指纹仪调用,方法在里面至于你想怎么改成其他形式,自己动脑吧。
没什么,就是dll调用,不会的朋友可以看看学习,高高手勿喷。
在此也希望能找到,志同道合的易友一起发展。
联系QQ:82525837
内容清单:
Biokey.ocx,主程序.e,data.mdb,Biokey.npk
这个源码需要一定基础,而且注册过ocx,写的代码只能用那个版本的支持库。谨记。
中控的指纹仪(uru2000)其它型号大同小异。
使用前步骤:如下图
操蛋事情,我把这个界面的代码支持库,弄丢了,幸好有个代码备份,有方法自己改改。- .版本 2
- .支持库 Biokey
- .支持库 iext
- .支持库 eDB
- .程序集 窗口程序集1
- .程序集变量 FMatchType, 整数型
- .程序集变量 fpcHandle, 整数型
- .程序集变量 指纹数据, 文本型
- .子程序 _窗口_指纹管理_创建完毕
- .判断开始 (指纹控件.InitEngine () = 0) ' 初始化判断
- 指纹数据 = 指纹控件.SensorSN
- 状态条.置文本 (0, “指纹仪序列号:” + 到文本 (指纹控件.SensorIndex))
- 状态条.置文本 (1, “指纹仪个数:” + 到文本 (指纹控件.SensorCount))
- ' 状态条.置文本 (2, “当前使用:” + 到文本 (ZKFPEngX1.SensorIndex))
- .默认
- 信息框 (“初始化硬件失败。”, 0, )
- 结束 ()
- .判断结束
- .如果真 (数据库连接.连接SQLServer (“127.0.0.1”, “jhzw”, “sa”, “123”) = 假)
- 信息框 (“连接数据库失败.”, 0, )
- 返回 ()
- .如果真结束
- 记录集.置连接 (数据库连接)
- 初始化程序 ()
- .子程序 _按钮_浏览_被单击
- .如果真 (通用对话框.打开 () = 真)
- 图片框_头像.图片 = 读入文件 (通用对话框.文件名)
- .如果真结束
- .子程序 初始化程序
- .局部变量 次数, 整数型
- .局部变量 临时变量, 文本型
- .局部变量 索引, 整数型
- .如果真 (记录集.打开 (“select * from zhuwenxinxi”, #SQL语句) = 假)
- 信息框 (“连接数据表失败”, 0, )
- 结束 ()
- .如果真结束
- .计次循环首 (记录集.记录数量, 次数)
- 记录集.读文本 (“gonghao”, 临时变量)
- 索引 = 超级列表框_指纹库.插入表项 (, , , , , )
- 超级列表框_指纹库.置标题 (索引, 0, 临时变量)
- 记录集.读文本 (“touxiang”, 临时变量)
- 图片框_头像.图片 = 到字节集 (临时变量)
- 记录集.读文本 (“xingming”, 临时变量)
- 超级列表框_指纹库.置标题 (索引, 1, 临时变量)
- 记录集.读文本 (“shouji”, 临时变量)
- 超级列表框_指纹库.置标题 (索引, 2, 临时变量)
- 记录集.读文本 (“zhiwen1”, 临时变量)
- .如果 (临时变量 ≠ “”)
- 超级列表框_指纹库.置标题 (索引, 3, “登记”)
- .否则
- 超级列表框_指纹库.置标题 (索引, 3, “未登记”)
- .如果结束
- 记录集.读文本 (“zhiwen2”, 临时变量)
- .如果 (临时变量 ≠ “”)
- 超级列表框_指纹库.置标题 (索引, 4, “登记”)
- .否则
- 超级列表框_指纹库.置标题 (索引, 4, “未登记”)
- .如果结束
- 记录集.读文本 (“dengjirqi”, 临时变量)
- 超级列表框_指纹库.置标题 (索引, 5, 临时变量)
- 记录集.到下一条 ()
- .计次循环尾 ()
- 记录集.关闭 ()
- .子程序 _按钮_登记指纹_被单击
- .如果真 (编辑框_姓名.内容 = “”)
- 信息框 (“请填写用户。”, 0, )
- 返回 ()
- .如果真结束
- .如果真 (编辑框_工号.内容 = “”)
- 信息框 (“请填写用户编号。”, 0, )
- 返回 ()
- .如果真结束
- .如果真 (图片框_头像.图片 = { })
- 信息框 (“请选择图片”, 0, )
- 返回 ()
- .如果真结束
- .如果真 (编辑框_手机.内容 = “”)
- 信息框 (“请输入手机号码。”, 0, )
- 返回 ()
- .如果真结束
- 编辑框_日期.内容 = 到文本 (取现行时间 ())
- 指纹控件.BeginEnroll ()
- 透明标签_状态.标题 = “请输入3次指纹。”
- .子程序 _窗口_指纹管理_将被销毁
- 指纹控件.EndEngine ()
- .子程序 _指纹控件_OnEnroll
- .参数 ActionResult1, 逻辑型
- .参数 ATemplate, 变体型
- .局部变量 索引, 整数型
- .局部变量 次数, 整数型
- .局部变量 临时变量, 文本型
- .局部变量 sql, 文本型
- 指纹数据 = 指纹控件.GetTemplateAsString ()
- .如果 (ActionResult1)
- 透明标签_状态.标题 = “注册成功”
- 索引 = 超级列表框_指纹登记.插入表项 (, , , , , )
- 超级列表框_指纹登记.置标题 (索引, 0, 编辑框_工号.内容)
- 超级列表框_指纹登记.置标题 (索引, 1, 编辑框_姓名.内容)
- .如果真 (组合框.现行选中项 = 0)
- sql = “insert into zhuwenxinxi(touxiang, gonghao, xingming, shouji,zhiwen1,dengjirqi) values('” + 到文本 (图片框_头像.图片) + “', '” + 编辑框_工号.内容 + “', '” + 编辑框_姓名.内容 + “', '” + 编辑框_手机.内容 + “', '” + 指纹数据 + “', '” + 编辑框_日期.内容 + “')”
- 输出调试文本 (数据库连接.执行SQL (sql))
- .如果真结束
- .如果真 (组合框.现行选中项 = 1)
- 数据库连接.执行SQL (“update zhuwenxinxi set zhiwen2='” + 指纹数据 + “' where gonghao='” + 编辑框_工号.内容 + “'”)
- .如果真结束
- .如果 (组合框.现行选中项 = 0)
- 超级列表框_指纹登记.置标题 (索引, 2, “录入成功”)
- 超级列表框_指纹登记.置标题 (索引, 3, 编辑框_日期.内容)
- 编辑框_日期.内容 = “”
- 图片框_指纹.图片 = { }
- 透明标签_状态.标题 = “”
- 组合框.现行选中项 = 1
- .否则
- 超级列表框_指纹登记.置标题 (索引, 2, “录入成功”)
- 超级列表框_指纹登记.置标题 (索引, 3, 编辑框_日期.内容)
- 编辑框_姓名.内容 = “”
- 编辑框_工号.内容 = “”
- 图片框_头像.图片 = { }
- 编辑框_日期.内容 = “”
- 图片框_指纹.图片 = { }
- 透明标签_状态.标题 = “”
- 组合框.现行选中项 = 0
- .如果结束
- .' 如果真 (记录集.打开 (“select * from zhuwenxinxi”, #SQL语句) = 假)
- ' 信息框 (“连接数据表失败”, 0, )
- ' 结束 ()
- .如果真结束
- .' 如果真 (组合框.现行选中项 = 0)
- ' 记录集.添加 ()
- ' 记录集.写文本 (“gonghao”, 编辑框_工号.内容)
- ' 记录集.写文本 (“xingming”, 编辑框_姓名.内容)
- ' 记录集.写文本 (“shouji”, 编辑框_手机.内容)
- ' 记录集.写文本 (“zhiwen1”, 指纹数据)
- ' 记录集.写文本 (“dengjirqi”, 编辑框_日期.内容)
- .如果真结束
- .' 如果真 (组合框.现行选中项 = 1)
- .' 计次循环首 (记录集.记录数量, 次数)
- ' 记录集.读文本 (“gonghao”, 临时变量)
- .' 如果真 (临时变量 = 编辑框_工号.内容)
- ' 记录集.写文本 (“zhiwen2”, 指纹数据)
- ' 跳出循环 ()
- .如果真结束
- ' 记录集.到下一条 ()
- .' 计次循环尾 ()
- .如果真结束
- ' 记录集.更新 ()
- ' 记录集.关闭 ()
- .否则
- 透明标签_状态.标题 = “注册失败”
- .如果结束
- .子程序 图片到二进制, 文本型
- .参数 图片数据, 字节集
- .局部变量 tempText, 文本型
- .局部变量 n, 整数型
- .变量循环首 (取字节集长度 (图片数据), 1, -1, n)
- tempText = 到文本 (图片数据 [n]) + “|” + tempText
- .变量循环尾 ()
- 返回 (tempText)
- .子程序 _指纹控件_OnFeatureInfo
- .参数 AQuality, 整数型
- .如果真 (指纹控件.IsRegister) ' 输入消息
- 透明标签_状态.标题 = “还要输入” + 到文本 (指纹控件.EnrollIndex - 1) + “次” ' <!!!>
- .如果真结束
- .子程序 _指纹控件_OnImageReceived
- .参数 AImageValid, 逻辑型, 参考
- 指纹控件.PrintImageAt (获取DC句柄 (图片框_指纹.取窗口句柄 ()), 图片框_指纹.顶边, 图片框_指纹.左边, 图片框_指纹.宽度, 图片框_指纹.高度)
- .子程序 _指纹控件_OnCapture
- .参数 ActionResult, 逻辑型
- .参数 ATemplate, 变体型
- .局部变量 返回数据, 文本型
- .局部变量 注册改变, 逻辑型
- 返回数据 = 指纹控件.GetTemplateAsString ()
- .如果真 (FMatchType = 1)
- .如果 (指纹控件.VerFingerFromStr (指纹数据, 返回数据, 假, 注册改变)) ' 开始对比数据
- 信息框 (“对比成功”, 0, )
- .否则
- 信息框 (“对比失败”, 0, )
- .如果结束
- .如果真结束
复制代码 常见问题:
遇到这样的问题,只能重新注册ocx,或者找你原始的注册的生成的Biokey.npk
--------------------------------------分割线--------------------------------------------
看了不会,木有小鸡鸡。
指纹仪.rar
(644.95 KB, 下载次数: 250)
|
评分
-
查看全部评分
|