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' の相互作用を説明できますか。私は書き込みパスにいますか?