基本概念与步骤
指纹模板与登记
要进行指纹识别,首先必须登记指纹。
所谓登记指纹,就是连续多次采集同一手指的指纹特征,然后对这些指纹特征进行综合分析,生成一个指纹模板,保存在数据库中。
假定有个用户表,有姓名和指纹模板两列,希望单击某个按钮,能够启动指纹登记窗口,指纹登记成功后,将生成的指纹模板保存到用户表当前行的指纹模板列。
为此,只需将此按钮的代码设置为:
Dim
fg As
String = FoxFinger.EnRoll()
'登记指纹
If
fg > ""
Then '如果登记成功
Tables("用户").Current("指纹模板")
= fg '保存获得的指纹模板
End
If
下图是指纹登记窗口,需要连续取得四次合格的指纹特征后,才能生成一个指纹模板,登记成功。
提示: 用于保存指纹模板的列必须是备注型、
指纹特征与比对
所谓指纹比对,就是将在FingerCapture事件中捕获的指纹特征,和之前登记的指纹模板进行比对,判断是否是同一个指纹。
指纹比对通过Verify方法实现,语法:
Verify(Template,Features)
Template: 字符型,用于比对的指纹模板。
Features: 字符型,用于比对的指纹特征。
如果指纹特征和指纹模板匹配,则返回True。
例如有个用户表,包括用户姓名、指纹模板、审批三列,其中审批列是个逻辑列,用于标明此用户是否具备审批订单的权利。
现在希望有审批权限的用户,无需登录系统,只需按压指纹,就可以直接审批订单,为此可以将FingerCapture事件代码设置为:
If
MainTable.Name
= "订单" Then
For
Each dr
As DataRow
In DataTables("用户").Select("审批 = True") '
If
dr.IsNull("指纹模板")
= False Then
If FoxFinger.Verify(dr("指纹模板"),e.Features)
Then '如果指纹匹配
Tables("订单").Current("审批人")
= dr("姓名")
Tables("订单").Current("审批时间")
= Date.Today()
Return
End If
End
If
Next
MessageBox.Show("你无权审核订单","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
End
If