Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Huella Digital (https://www.clubdelphi.com/foros/showthread.php?t=63716)

Sivia 27-02-2009 11:26:27

Huella Digital
 
:mad: Tengo el lector huella digitalPersona. He imprtado Control Active X, install, New package,etc.

Todo bién, pero al poner el componente en mi aplicación para coger y grabar la huella en un fichero, no lo se interpretar.

procedure TForm1.DPFPEnrollmentControl1Enroll(Sender: TObject;
lFingerMask: Integer; const pTemplate, pStatus: IDispatch);

Supongo que debo leer pTemplate, pStatus pero no se como leer este tipo
de datos IDispath.

Alguien puede ayudarme ?.

Muchas gracias;

Silvia

Ñuño Martínez 27-02-2009 12:56:43

Bienvenida al club.

El tema de las huellas digitales y los datos obtenidos se ha comentado mil una veces. ¿Has usado el buscador del foro? Incluso es posible que leyendo los temas similares (mira al final de esta misma página) encuentres la respuesta.

Y un último consejo que damos a todos los nuevos miembros.

Sivia 28-02-2009 12:48:08

Antes de escribir el mensaje miré toda la información del historial, por supuesto, pero no me sirvió para solucionar mi duda. Tampoco los 5 mensajes abajo expuestos.

No interpreto como tomar el resultado del componente (validación captura huella):

DPFPVerificationControl1Complete(Sender: TObject;
const pFeatureSet, pStatus: IDispatch);

De todas formas gracias por contestar;

Silvia

Ñuño Martínez 02-03-2009 20:42:20

No entiendo cuál es tu prregunta. ¿No sabes cómo asignar el valor devuelto o cómo comprobar la huella o cómo guardarla en base de datos o qué? :confused:

Sivia 03-03-2009 09:42:25

No se como asignar el valor devuelto por el componente entrar huella y grabarlo en una tabla DB, ya que no se que en que formato devuelve la huella leida.

Tiene estos eventos:
OnExit:

DPFPEnrollmentControl1Exit(Sender: TObject);

OnEnroll:

DPFPEnrollmentControl1Enroll(Sender: TObject;
lFingerMask: Integer; const pTemplate, pStatus: IDispatch);

Lo mismo pasa con el componete validar huella, que devuelve?

DPFPVerificationControl1Complete(Sender: TObject;
const pFeatureSet, pStatus: IDispatch);

El lector de huellas es un DigitalPErsona U.are.4500.

Muchas gracias por vuestra ayuda;

Silvia

Ñuño Martínez 03-03-2009 10:51:53

¿Y la ayuda no dice nada? ¿No has encontrado ningún ejemplo que funcione? :confused:

Aun así, y por lo que leo, DPFPEnrollmentControl1Exit no tiene nada que ver con la obtención de datos y las otras dos tampoco tan solo el "Enroll" tiene pinta de servir de algo, aunque tampoco estoy seguro. Para mi que no estás mirando en la dirección correcta.

La última vez que programé algo para lectores de huellas digitales (hace unos cinco años) no tuve que programar nada. La información de la huella pasaba a un campo TEdit y de ahí lo tomaba y hacía con la información lo que necesitara.

Sivia 03-03-2009 11:27:29

Hay un ejemplo en VB6, y tampoco me queda claro como captura la huella. Si quieres te lo envio por E-mail.

Con respecto la ayuda, no es demasiado clara, sólo hay información de como se puede hacer el desarrollo en Vb o C++.

No programar nada, eso sería lo ideal, el componente tendría que tener una propiedad para capturar, un campo y una tabla para guardar la información de la huella, pero en mi caso no es así.

Muchas gracias;

Silvia

Ñuño Martínez 06-03-2009 02:09:47

En vez de enviármelo por correo, intenta extraer partes del código VB que consideres importantes y ponlas aquí (utiliza [code] ... [/code]). Así, si yo no sé puede que otro sí sepa.

Sivia 09-03-2009 12:58:31

Huella digital, ejemplo D6
 
Por ejemplo, en V6:

Private Sub Capture_OnComplete(ByVal ReaderSerNum As String, ByVal Sample As Object)
Dim Feadback As DPFPCaptureFeedbackEnum
Dim Res As DPFPVerificationResult
Dim Templ As Object
ReportStatus ("The fingerprint was captured.")
' Draw fingerprint image.
DrawPicture ConvertSample.ConvertToPicture(Sample)
' Process sample and create feature set for purpose of verification.
Feedback = CreateFtrs.CreateFeatureSet(Sample, DataPurposeVerification)
' Quality of sample is not good enough to produce feature set.
If Feadback = CaptureFeedbackGood Then
Prompt.Caption = "Touch the fingerprint reader with a different finger."
Set Templ = MainFrame.GetTemplate
If Templ Is Nothing Then
MsgBox "You must create a fingerprint template before you can perform verification."
Else
' Compare feature set with template.
Set Res = Verify.Verify(CreateFtrs.FeatureSet, Templ)
' Show results of comparison.
FAR.Caption = Res.FARAchieved
If Res.Verified = True Then
ReportStatus ("The fingerprint was verified.")
Else
ReportStatus ("The fingerprint was not verified.")
End If
End If
End If
End Sub

Gracias de nuevo;

Silvia

Ñuño Martínez 09-03-2009 14:35:45

Bueno, creo que me faltan datos, como la declaración precisa de cada elemento en Object Pascal, pero así, a bote pronto, veo problemas en los IF, ya que si lo traducimos directamente estaremos comparando referencias, no objetos. Debería existir un método que permita compararlos.

También veo problemas en las asignaciones. Desconozco por completo cómo asigna los objetos Visual Basic, pero sospecho que ese "Set Res = Verify.Verify(CreateFtrs.FeatureSet, Templ)" asigna el objeto devuelto por "Verify.Verify (..)" a "Res". La pregunta es, ¿el objeto devuelto sigue existiendo tras retornarlo? :confused: Puede parecer una pregunta sin sentido, pero ya decidí en su momento no volver a programar en C++ precisamente por eso, porque a veces devolvías un objeto para obtener su referencia, el objeto dejaba de existir (por ejemplo, si por un descuido devolvías una referencia a un objeto automático) y te dejaba con una violación de segmento la mar de guapa y difícil de rastrear. Como dices que se trata de un componente ActiveX es probable que esto suceda, en cuyo caso deberías clonar el objeto devuelto y no asignar su referencia, que tal vez sea el cometido de "SET" en VB.

No sé yo si esto te ha ayudado en algo o si te he liado más. :rolleyes:

Sivia 10-03-2009 11:14:52

Huella Digital
 
Pués mira, estamos a punto de probar con otro lector de huella, pero cual ?. A este ya no sabemos que le pasa. Tiene un ejemplo en D6 pero los componentes active X no se corresponden con la demo.

En un mensaje anterior conmentabas que trabajaste con un lector de huella que no tenías que programar nada. Cual era ?, Puedes pasarme información ?.

Gracias de nuevo.

Silvia:eek:

Ñuño Martínez 10-03-2009 12:31:25

Por desgracia eso fue hace al menos cinco años y ahora trabajo en otra empresa, así que no lo recuerdo. Lo único que sé es que lo enchufabas al USB, instalabas un controlador y él solito te "traducía" la información de la huella en entradas por teclado, y así podías capturarla.


La franja horaria es GMT +2. Ahora son las 08:43:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi