Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda Lector de Huellas DigitalPersona (https://www.clubdelphi.com/foros/showthread.php?t=72461)

KingOfDragons 20-02-2011 17:44:31

Ayuda Lector de Huellas DigitalPersona
 
Buenas tardes a todos necesito su ayuda estoy trabajando con el sdk de DigitalPersona, genero la captura de la huella digital y guardo el template en una base de datos en formato varbinary(2000) y todo muy bien pero el problema es cuando quiero leer el template lo extraigo pero me marca un Access Violation no entiendo porque este es el codigo de lectura

este es el codigo para guardarlo a la base de datos

Código Delphi [-]
    ADOQuery1.Close;
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('Insert into users (id, Template) values (:Finger,:VP) ');
    ADOQuery1.Parameters.ParamByName('Finger').Value := 1;
    ADOQuery1.Parameters.ParamByName('VP').Value :=regTemplate[6].Serialize;
    ADOQuery1.ExecSQL;

y este es el codigo para sacarlo de la base de datos y meterlo para verificar

Código Delphi [-]
procedure TForm4.btnVerifyClick(Sender: TObject);
var
frmVerify: Verify.TForm1;
DBread: tBytes;
begin
  frmVerify := Verify.TForm1.Create(nil);
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from users');
  ADOQuery1.Open;
  DBRead:=ADOQuery1.FieldByName('template').AsBytes;
  RegTemplate1.Deserialize(DBRead);
  frmVerify.ShowModal;
End;

De antemano Gracias a todos por su ayuda, utilizo delphi 2010

Ñuño Martínez 21-02-2011 13:00:21

Pero, ¿dónde se produce la violación de acceso?

KingOfDragons 22-02-2011 03:23:26

Perdon se me paso ese pequeño detalle :P es en esta parte

RegTemplate1.Deserialize(DBRead);

Ñuño Martínez 23-02-2011 16:49:18

Entonces debes comprobar que los objetos RegTemplate1 y DBRead están creados e inicializados correctamente. Quizá sea eso.

Peperami77 13-06-2011 07:35:43

ayuda con huellas en delphi
 
hola buen dia disculpa podrias comentar o poner un poco de codigo de como pudiste resolver tu problema, yo apenas voy empezando a trabajar con el sdk de digital persona usando delphi 7 con mysql, y quisiera ver en que eventos puedo controlar el guardar la huella y como obtener la platilla para poder hacer las verificaciones, el sdk me da etos datos o yo los genero de antemano gracias

Ñuño Martínez 13-06-2011 13:03:48

Pues sí, la verdad es que estaría bien que nos dijeras cómo ha terminado la cosa, si lograste arreglarlo y cómo.

KingOfDragons 14-06-2011 04:52:36

Pues basicamente encripte el enroll o lo converti a texto y lo guarde en un campo tipo texto , pero si me explican como subir algo al ftp con mucho gusto les dejo un ejemplo como mi primer aporte a esta comunidad que me a ayudado muchisimo

Saludos

KingOfDragons 14-06-2011 09:50:08

Bueno señores hay les va mi primer aporte a este club que tanto apoyo me a dado, en el ftp deje un archivo que se llama FingerPrintDigitalPersona.zip acuerdense de instalar el sdk que esta en la pagina de Digital Persona tambien viene la informacion de la tabla que uso para el ejemplo para que no se pierdan :P esta desarrollado con Delphi 2010 y sql express 2005.


Saludos a todos y espero les sirva.


http://terawiki.clubdelphi.com/Delph...talPersona.Zip

IVAND 07-07-2011 00:36:48

Hola a todos

Seria mucho pedir en indicarnos tu experiencia con este lector , voy a empezar un pequeño proyecto , hay que pagar licencia del sdk , cual bajar porque hay algunos en esa pagina


de antemano muchas gracias

Nota: no se ejecuta el proyecto me pide una libreria rtl140.bpl

Utilizo delphi 6 y firebird

KingOfDragons 08-07-2011 06:29:25

Seguramente es por que el codigo es para delphi 2010, el lector es de uso rudo pero es caro por eso no hay que comprar sdk este es gratuito de su pagina de internet tambien existe un ejemplo en delphi 7 en la pagina que es de donde me base para crear este ejemplo basica mente es lo mismo.

Saludos

apicito 01-08-2011 12:27:09

Estoy mirando el lector de DigitalPersona y en la página donde indica el precio ("U.are.U 4500 Reader Package — 73.60 EUR") dice que no incluye software. Esto se refiere a que no se suministra un software de gestión más allá del SDK?.
Supongo que : " DigitalPersona One Touch I.D. SDK — 446.01 EUR" es un software de gestión semejante al programa que tu nos proporcionas.¿No?
Por cierto, ¿como es tu experiencia con este lector?. ¿Crees que puede ser funcional para controlar la hora de acceso y salida en una empresa de unos 100 empleados?
Gracias por todo.

IVAND 01-08-2011 17:10:41

Hola a todos

He adquirido la licencia de Grauli , funciona con ese lector y algunos otros , utilize un componente elaborado por el companero Al Gonzales y funciona de maravilla
utilizo d6 y firebird ,

KingOfDragons 09-08-2011 07:04:47

Cita:

Empezado por apicito (Mensaje 408098)
Estoy mirando el lector de DigitalPersona y en la página donde indica el precio ("U.are.U 4500 Reader Package — 73.60 EUR") dice que no incluye software. Esto se refiere a que no se suministra un software de gestión más allá del SDK?.
Supongo que : " DigitalPersona One Touch I.D. SDK — 446.01 EUR" es un software de gestión semejante al programa que tu nos proporcionas.¿No?
Por cierto, ¿como es tu experiencia con este lector?. ¿Crees que puede ser funcional para controlar la hora de acceso y salida en una empresa de unos 100 empleados?
Gracias por todo.

La verdad que no e tenido mucha experiencia personal pero en la empresa donde yo trabajaba antes lo usaron para un reloj checador y lo maximo que me toco fue que lo usaran uns 200 veces al dia en diferentes horarios

benjaminao 30-03-2012 23:28:25

Ayuda con el link
 
Hola Amigo me parece super interesante tu aporte, sobre todo por que justo ahora estoy comensando a desarrollar un sistema de control de acceso y estoy pensando utilisar este capta huellas, pero cuando trato de descargar el archivo que nos estas dejando en este link FingerPrintDigitalPersona.Zip me da este error

Forbidden

You don't have permission to access /clubdelphi/archivos/Delphi/Ejemplos/FingerPrintDigitalPersona.Zip on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Te adradeseria mucho tu ayuda.:)

benjaminao 30-03-2012 23:36:12

Ups disculpen ya pude descargar el archivo

tutuk 18-11-2012 08:53:03

Equivalente a WideBytesOf en Delphi 7
 
Hola estoy enredado con un Digital Persona 4500 fingerprint reader y llegue a este post, descargue el ejemplo del amigo KingOfDragons pero cuando quiero hacerlo funcionar no me reconoce el widebytesof, busque pero aparentemente no existe esto en delphi 7. Existe alguna manera de hacer lo mismo de otra forma?.

copio parte del codigo en donde esta la sentencia

Código Delphi [-]
function TVerify.VerifyString(const pFeatureSet: IDispatch;
  const Template: string): boolean;
var
  u: string;
begin
  regTemplate1 := DPFPShrXLib_TLB.CoDPFPTemplate.Create();
  //Se desecripta el template de la base de datos
  u := Decrypt(Template);
  regTemplate1.Deserialize(WideBytesOf(u));
  //Se compara con el que fue tomado por el lector
  result := VerifyTemplate(pFeatureSet, regTemplate1);    
end;

espero me puedan ayudar y desde ya gracias por su tiempo.
Santiago

Ñuño Martínez 19-11-2012 21:51:26

Creo que encontré un sustituto para esa función aquí. Espero que sea lo que buscas.

tutuk 21-11-2012 13:25:13

Gracias por tu interes pero no funciona
 
hola Ñuño Martínez: te agradezco tu interes pero ya la habia visto a esa pagina pero cuando hago correr el programa me da "Tipo de Variable Incorrecto" asi que supongo que WideBytes no hara exactamente lo mismo que WideBytesOf.

Saludos

Ñuño Martínez 26-11-2012 21:07:06

El problema es que no sé qué es lo que se espera que haga "WideBytesOf". De hecho, el parche que he enlazado me parece confuso (aunque es cierto que no lo he mirado mucho).

Sólo puedo desearte suerte. :(

KingOfDragons 05-12-2012 00:10:48

Buenas Tardes a todos, que curioso que no te funcione yo me base en un ejemplo echo en delphi 7 si incluiste el SysUtils????

Saludos!!

KingOfDragons 05-12-2012 00:37:34

Si no se quieren complicar mucho la vida en ponerlo en una base de datos de Ms Sql es mucho mas facil el manejo de la informacion en MySql quitamos tanto relajo y solo usamos las siguientes lineas:

Enroll

Código Delphi [-]

     MyQuery1.Params.ParamByName('Template').Value:=regTemplate.Serialize;

Extraer

Código Delphi [-]
     RegTemplate.template.Deserialize(MyQuery3.FieldByName('Template').Value)

Comparacion

Código Delphi [-]
    if DPFPEngXLib_TLB.DPFPVerificationResult(verifier.Verify(pFeatureSet,
        regTemplate.template)).Verified then



El tipo de campo que tienes que usar en MySql es mediumblob, asi como los extrae el SDK los metes directo a la base de datos y de la misma forma para comparar espero y les sirva.

P.d. El componente MyQuery1 realiza la coneccion directa sin manejar el ODBC es muy bueno y estable lo pueden encontrar en esta pagina

http://www.devart.com/

Saludos!!

Belisario 09-09-2013 15:20:45

Hola, el link no funciona, estoy tratando de utilizar un 4500 con delphi 7 y sql server, el fabricante ya no provee de manera gratuita el dsk, cualquier ayuda me seria de mucha utilidad, gracias.

Casimiro Notevi 09-09-2013 15:43:22

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

Por cierto, ese link funciona correctamente.

juantonote 26-02-2014 20:38:04

Hola, alguien tiene el SDK para el lector UareU 4000 o 4500 para Delphi 7? tengo una aplicación que solo quiero que tome al huella y la meta en una base de datos que hice en mysql.

KingOfDragons 08-03-2014 19:05:43

Bajalo de esta Pagina


Saludos!!!!

KingOfDragons 18-03-2014 17:22:29

Buenos días!! Disculpen como no se editar algún comentario anterior aquí les dejo la liga corregida para el acceso al ftp en donde se encuentra el ejemplo!!!!

aquí dentro de esta dirección buscan el archivo llamado FingerPrintDigitalPersona.Zip

Pueden existir algunos problemas con delphi 2007 ya que el ejemplo esta echo con delphi 2010 principalmente con el sistema de archivos porque si hubo algunos cambios!!!


Saludos y Gracias!!

benjaminao 24-03-2014 17:40:50

Class TDPFPEnrollmentControl not found.
 
Hola excelente aporte, pero me puedes ayudar con esto, lo estoy probando en delphi 7, instale los componentes que están en la carpeta Import y dcpcrypt2-2010 y me da este error al ejecutar "Class TDPFPEnrollmentControl not found."

KingOfDragons 24-03-2014 18:03:28

Buenos dias, pues a lo que dices no instalaste correctamente los componentes en la carpetas Imports no se si la agregaste tambien la ruta de la carpeta a tus librerías e instalaste el sdk???

Saludos!!

CarlosHernandez 14-12-2014 06:20:19

buenas noches, con respecto al ejemplo que subio el amigo KingOfDragons, quisiera saber si hay otra opcion de hacer una busqueda en la tabla de la huella. Debido a que para encontrar una huella se tiene que recorrer toda la tabla para poder identificarla, como lo hace aqui:

Código Delphi [-]
  //Busca entre las huellas que tiene la base de datos y las compara con la tomada por el lector
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('Select * from Finger');
  ADOQuery1.Open;
  while not ADOQuery1.Eof do
  begin
    DBRead:=ADOQuery1.FieldByName('Template').Value;
    //Se desencripta y de compara el template de la base de datos y el tomado por el lector
    if VerifyString(pFeatureSet,DBRead) then
    begin
    MessageDlg('Si se pudo',mtError, mbOKCancel, 0);
    Exit();
    end;
    ADOQUery1.Next
  end;

ya que lo probe en la tabla con unos 5000 registros y la busqueda es extremadamente lenta, tomo como 4 minutos por busqueda.

quisiera saber si hay una forma de buscarlo directamente por un where por el campo template al momento de colocar la huella, es decir colocar la huella, agarrar ese valor(huella) hacer directamente la busqueda sobre el campo template y me de el resultado.


saludos.

KingOfDragons 15-12-2014 04:13:09

Tambien lo hice que al incio del sistema cargara la huellas en un arreglo y asi quito stress a la base de datos y le dejo el trabajo al procesador pero cuando las pongo en el arreglo ya las dejo listas para solo llegar y comparar eso te reduce el tiempo significativamente, si llegas a encontrar otro metodo mejor y mas rapido te agradeceria mucho que nos lo publicaras!!

Podrias intentar ese metodo que tambien dices pero segun yo con cada lectura de huella se genera una cadena distinta porque toma diferentes puntos de la huella, asi que pocas veces podrias generar una captura identica a la que tienes almacenada!!

CarlosHernandez 16-12-2014 06:56:12

lo intente haciendo el where por la huella directamente pero no coincide ninguna huella.......

Casimiro Notevi 16-12-2014 10:07:27

Supongo que la huella será una imagen bitmap, está claro que eso no se puede comparar haciendo un where, hay que usar técnicas diferentes.
Se supone que la máquina tendrá un ejemplo de cómo funciona.
En todo caso será comparar imágenes, algo bastante complejo porque si mueves un poco el dedo... tienes una huella distinta.
No sé, nunca me convencieron esos sistemas, me resultan poco exactos.

Alicia_g 19-04-2018 21:47:09

Cita:

Empezado por KingOfDragons (Mensaje 403664)
Bueno señores hay les va mi primer aporte a este club que tanto apoyo me a dado, en el ftp deje un archivo que se llama FingerPrintDigitalPersona.zip acuerdense de instalar el sdk que esta en la pagina de Digital Persona tambien viene la informacion de la tabla que uso para el ejemplo para que no se pierdan :P esta desarrollado con Delphi 2010 y sql express 2005.



Saludos a todos y espero les sirva.


http://www.terawiki.clubdelphi.com/a...talPersona.Zip

Hola, no puedo descargar el archivo, me dice que no existe, donde lo puedo conseguir???

Casimiro Notevi 19-04-2018 21:54:07

Aquí está.

MAXIUM 12-11-2018 07:48:32

Hola, ¿haz logrado resolver el problema?

Ocurre una violación al deserializar. El parámetro de entrada es del tipo RawData: OleVariant, pero por más que intento que acepte los datos, me arroja error.


La franja horaria es GMT +2. Ahora son las 11:51:30.

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