El paquete sgcBiometrics añade una nueva característica para la próxima versión 1.4.0: ahora puedes enumerar qué enrollments tiene seleccionado el sensor pool. Este método funciona para system y private sensor pools.
Antes no podías saber si una muestra biométrica ya estaba guardada en tu base de datos salvo que intentaras enrolar la huella de nuevo. Ahora puedes enumerar primero qué huellas se han almacenado en tu base de datos.
Enumerar enrollments
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;
Primero llama al método EnumEnrollments y a continuación maneja el evento OnEnumEnrollments; ahí recibirás qué huellas están almacenadas en tu pool. Consulta el parámetro aSubFactor para saber de qué huella se trata (pulgar derecho, índice derecho...) y hay 2 parámetros que indican cuántas huellas están enroladas y el número de la huella que se pasa al evento.
A continuación tienes una captura de pantalla de la aplicación de demo que muestra cómo funciona Enumerate Enrollments.

