0

DigitaPersona テンプレート シリアル データを DBASE4 DBF ファイルに保存するための DELPHI 5 サンプル。

procedure TFormEnroll.DPFPEnrollmentControl1Enroll(Sender: TObject;
  lFingerMask: Integer; const pTemplate, pStatus: IDispatch);
var
  MMask : Integer;
  Template : IDispatch;
  MTempStr : OleVariant;

  lByteArray: Variant;
  lArrayPointer: Pointer;
  lStr: AnsiString;
  DPFPTemplate: TDPFPTemplate;
  aRawData : Variant;
begin
  aRawData := pTemplate;
  lStr := aRawData.Serialize;
  MMask := lFingerMask;
  if lStr = null then
    StatusBar.Panels.Items[0].Text := 'The fingerprint TEMPLATE is empty! + Mask=' + IntToStr(MMask)
  else
    StatusBar.Panels.Items[0].Text := 'The fingerprint TEMPLATE has something! + Mask=' + IntToStr(MMask);
  MMsg := lStr;
  MLen := Length(MMsg);
  EditSerialData.Text := MMsg;
  MemoSerialData.Lines.Text := MMsg;
  MemoSerialData2.Lines.Text := MMsg;
  EditLenSerialData.Text := IntToStr(MLen);
  EditFingerMask.Text := IntToStr(DPFPEnrollmentControl1.EnrolledFingersMask);
  //Update database - Take to separate save button
  DMForm.Finger.First;
  if DMForm.Finger.State in [dsEdit, dsInsert] then
    // do nothing
  else
    DMForm.Finger.Edit;
  DMForm.FingerUSERNAME.Value := 'Testing ';
  DMForm.Finger.Post;
  DMForm.Finger.Edit;
  DMForm.FingerUSERNAME.Value := 'Testing ' + IntToStr(DMForm.FingerFINGERID.Value);
  DMForm.FingerFINGERTEMP.Value := MMsg;
  DMForm.FingerEnrolledFingerMask.Value := IntToStr(DPFPEnrollmentControl1.EnrolledFingersMask);
  DMForm.FingerFingerSerialData.Value := MMsg;
  DMForm.Finger.Post;
end;

保存されたテンプレートの文字列の例 = "?b????????????????????????????????????????????????????????????????????????????????? ???????õ???????????????????????????????????+???????[ ??????????????????V??????????????????????????????? ?????????????????????????????????9??????????o??????? ?????????????????????????????????????????????????????? ?????????????¦?????????????????????????????????????? ?????????????????????????????????????????????????????? ???????????????j??????????????????????o??????????? ?????????????????????????????????????????????U・??? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ??????????????????????????????#????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ?????????????????????????????????????????????????????? ???????????????」

これは私たちが期待するような結果ですか?これは実行可能なテンプレートですか?( aRawData := pTemplate;) Dispatch 変数である 'pTemplate;)' とのバリアントである 'aRawData' の相互作用を説明できますか。私は書き込みパスにいますか?

4

1 に答える 1

1

ええ、それは指紋を検証するために使用される指紋テンプレートのバイナリ データです。

データベースまたはバイナリ ファイルの BLOB に保存してロードするか、bintohex に保存してテキスト ファイルに保存できます。

テンプレートと生データの違いは、テンプレートは、リーダーで次に指が押されたときに指を検証するために使用されるものであるということです。生データを印刷すると、はるかに大きいことがわかります。

正しい方向に進んでいるように見えますが、バイナリ データについては心配しないでください。

于 2010-11-02T15:53:47.973 に答える