Il package sgcBiometrics aggiunge una nuova funzionalità nella prossima versione 1.4.0: ora puoi enumerare quali enrollment ha il sensor pool selezionato. Questo metodo funziona per i sensor pool System e Private.
Prima d'ora non sapevi se un campione biometrico era già memorizzato nel tuo database, a meno di provare di nuovo a registrare l'impronta. Ora puoi prima enumerare quali impronte sono state memorizzate nel tuo database.
Enumerare gli enrollment
FingerPrint.EnumEnrollments;
procedure TFRMFingerPrint.FingerPrintEnumEnrollments(Sender: TObject; const
aIdentity: WINBIO_IDENTITY; const aSubFactor: WINBIO_BIOMETRIC_SUBTYPE;
const aNum, aCount: Integer);
var
vSubFactor: string;
begin
case aSubfactor of
WINBIO_ANSI_381_POS_RH_THUMB: vSubFactor := 'RH_THUMB';
WINBIO_ANSI_381_POS_RH_INDEX_FINGER: vSubFactor := 'RH_INDEX_FINGER';
WINBIO_ANSI_381_POS_RH_MIDDLE_FINGER: vSubFactor := 'RH_MIDDLE_FINGER';
WINBIO_ANSI_381_POS_RH_RING_FINGER: vSubFactor := 'RH_RING_FINGER';
WINBIO_ANSI_381_POS_RH_LITTLE_FINGER: vSubFactor := 'RH_LITTLE_FINGER';
WINBIO_ANSI_381_POS_LH_THUMB: vSubFactor := 'LH_THUMB';
WINBIO_ANSI_381_POS_LH_INDEX_FINGER: vSubFactor := 'LH_INDEX_FINGER';
WINBIO_ANSI_381_POS_LH_MIDDLE_FINGER: vSubFactor := 'LH_MIDDLE_FINGER';
WINBIO_ANSI_381_POS_LH_RING_FINGER: vSubFactor := 'LH_RING_FINGER';
WINBIO_ANSI_381_POS_LH_LITTLE_FINGER: vSubFactor := 'LH_LITTLE_FINGER';
end;
DoLog('EnumEnrollment: ' + vSubFactor);
end;
Per prima cosa richiama il metodo EnumEnrollments, quindi gestisci l'evento OnEnumEnrollments e qui riceverai quali impronte sono memorizzate nel tuo pool. Controlla il parametro aSubFactor per sapere di quale impronta si tratta (pollice destro, indice destro...); ci sono inoltre 2 parametri che indicano quante impronte sono state registrate e il numero dell'impronta passata all'evento.
Di seguito uno screenshot dell'applicazione demo che mostra come funziona l'enumerazione degli enrollment.

