基本概念与步骤

指纹模板与登记

要进行指纹识别,首先必须登记指纹。
所谓登记指纹,就是连续多次采集同一手指的指纹特征,然后对这些指纹特征进行综合分析,生成一个指纹模板,保存在数据库中。

假定有个用户表,有姓名和指纹模板两列,希望单击某个按钮,能够启动指纹登记窗口,指纹登记成功后,将生成的指纹模板保存到用户表当前行的指纹模板列。
为此,只需将此按钮的代码设置为:

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


本页地址:http://www.foxtable.com/webhelp/topics/2507.htm