有人搞过中控指纹采集的吗?这个过程如何调用,帮我看看。
指纹登记部分源代码
Procedure TForm1.SaveFPData(AQuery:TADOQuery;AFingerID:Integer;AFPData:OleVariant);
var
templateasstring:widestring;
begin
templateasstring:=ZKFPEngX1.Encode Template1(AFPData);
with AQuery do begin
Close;
SQL.Clear;
SQL.Add('insert into zkFingerPrint (ID,Template,Name)values('+inttostr(AFingerID)+','''+templateasstring+''','''+EDFingerName.Text+''')');
ExecSQL;
end;
End;
指纹验证部分源代码
Procedure TForm1.GetFPData(AQuery:TADOQuery;AFingerID:Integer;var AFPData:OleVariant);
Var
Templateasstring:widestring;
Score,ProcessNum,ID,i1,i2,i3,i4:Integer; Begin
Templateasstring:=ZKFPEngX1.Encode Template1(AFPData);
With AQuery do begin
Close;
SQL.Clear;
SQL.Add('SELECT*FROM zkFingerPrint');
Open;
//读取数据
For i1:=1 to AQuery.RecordCount do
Begin
ZKFPEngX1.AddRegTemplateStrToFPCacheDB(fpcHandle,strtoint(AQuery.FieldByName('FingerID').AsString),AQuery.FieldByName('Template').AsString);
i4:=AQuery.FieldByName('Finger ID').AsInteger;
FFingerName.AddObject(AQuery.FieldByName('Name').AsString,TObject(i4));
FFingerID.AddObject(AQuery.FieldByName('ID').AsString,TObject(i4));
AQuery.Next;
end;
Score:=8;
ID:=ZKFPEngX1.IdentificationFromStrInFPCacheDB(fpcHandle,ZKFPEngX1.GetTemplateAsString,Score,ProcessNum);
If ID<>-1 then begin
For i2:=0 to FFingerName.Count-1 do
Begin
i3:=Integer(FFingerName.Objects[i2]);
if ID=i3 then begin
i7:=FFingerName.Strings[i2];
MessageDlg(Format(‘指纹匹配成功!姓名:%s准考证号:%s’,[FFingerName.Strings[i2],FFingerID.Strings[i2]]),mtInformation,[mbOK],0);
end;
end;
end
else MessageDlg(‘找不到匹配的指纹!’,mtwarning,[mbOK],0);
ZKFPEngX1.RemoveRegTemplateFromFPCacheDB(fpcHandle,FID);
FFingerName.Free;
FFingerID.Free;
FFingerName:=TStringList.Create;
FFingerID:=TStringList.Create;
Close;
end;
end;
这是别人写的两个采集和比对的过程,我却不知道怎么调用?
比如现在登记指纹,
SaveFPData(adoquery1,后面该怎么写呢?);
研究好几天了,就是不会,来找大侠看看。