FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Lector de Huella Personal digital
Posts: 198
Joined: Fri Nov 18, 2005 07:34 PM
Lector de Huella Personal digital
Posted: Mon Mar 25, 2013 03:34 AM

Hola, alguien ha programado algo con lectores de huella ?, tengo un lector digital personal 4500, y requiero hacer una aplicacion donde se pueda capturar la huella del usuario para validarla, hay alguna libreria para ello ?, io donde buscar algun ejemplo ?

Saludos y gracias por su apoyo

Posts: 66
Joined: Thu Jan 03, 2013 06:13 PM
Re: Lector de Huella Personal digital
Posted: Tue Mar 26, 2013 01:40 AM
Tu post me pareci贸 interesante, y es por eso que me puse a buscar dentro del foro, aproximadamente en 2008, alguien public贸 un c贸digo fuente basado en grfinger, y creo que tuviste suerte, espero te sirva este c贸digo fuente, al menos para guiarte. No soy un experto, pero si mal no recuerdo, esta rutina la prob茅 y funcion贸 bastante bien.

Code (fw): Select all Collapse
#include "FiveWin.ch"

STATIC oWnd

STATIC ttptSize
STATIC ttpt

STATIC lProcesandoHuella

FUNCTION Main()
Local oFingerX

cStatus:= Space(1000)

lProcesandoHuella:= .F.

cAntes:= Memoread("LECTURA1.DAT")

IF IsActiveX("GrFingerX.GrFingerXCtrl")

聽 DEFINE WINDOW oWnd TITLE "FiveWin ActiveX Support"

聽 oFingerX = TActiveX():New( oWnd, "GrFingerX.GrFingerXCtrl.1")

聽 oWnd:oClient = oFingerX

聽 oFingerX:Do("Initialize")

聽 oFingerX:Do("CapInitialize")

聽 oFingerX:bOnEvent = { | event, aParams, pParams | EventInfo( event, aParams, pParams, oFingerX) }

聽 ACTIVATE WINDOW oWnd ON INIT IniciaHuella(oFingerX) VALID SalirHuella(oFingerX)

ELSE

聽 MsgStop("TIENE QUE ESTAR INSTALADO GRFINGER","ATENCION")

ENDIF

RETURN NIL

***

FUNCTION IniciaHuella(oFingerX)

RETURN NIL

***

FUNCTION SalirHuella(oFingerX)

oFingerX:Do("CapStopCapture","DPMSA077A3")

oFingerX:Do("CapFinalize")
oFingerX:Do("Finalize")

RETURN ( .T. )

***

FUNCTION EventInfo( event, aParams, pParams, oFingerX )
Local cEvent

IF .not. lProcesandoHuella

聽 cEvent := cValToChar( event )

聽 IF cEvent == "SensorPlug" .or. cEvent == "1"
聽 聽 IF aParams[1] != "File"
聽 聽 聽 oFingerX:Do("CapStartCapture","DPMSA077A3")
聽 聽 ENDIF
聽 ELSE
聽 聽 IF cEvent == "SensorUnplug"
聽 聽 聽 oFingerX:Do("CapStopCapture","DPMSA077A3")
聽 聽 ELSE
聽 聽 聽 IF cEvent == "FingerDown" .or. cEvent = "4"
聽 聽 聽 ELSE
聽 聽 聽 聽 IF cEvent == "FingerUp" .or. cEvent = "3"
聽 聽 聽 聽 ELSE
聽 聽 聽 聽 聽 IF cEvent == "ImageAcquired" .or. cEvent = "5"

聽 聽 聽 聽 聽 聽 lProcesandoHuella:= .T.

聽 聽 聽 聽 聽 聽 xLib:= LoadLibrary("GrFinger.dll")

聽 聽 聽 聽 聽 聽 GrInitialize()

聽 聽 聽 聽 聽 聽 ttptSize = 10000
聽 聽 聽 聽 聽 聽 ttpt = SPACE(10000)

聽 聽 聽 聽 聽 聽 ret:= GrExtract( aParams[ 4], aParams[ 2], aParams[ 3], aParams[ 5], @ttpt, @ttptSize, 0 )

聽 聽 聽 聽 聽 聽* Forma 1
聽 聽 聽 聽 聽 聽*
聽 聽 聽 聽 聽 聽*GrIdentifyPrepare( ttpt, 0 )
聽 聽 聽 聽 聽 聽*nIdScore:= 0
聽 聽 聽 聽 聽 聽*nId:= GrIdentify( cAntes, @nIdScore , 0 )

聽 聽 聽 聽 聽 聽* Forma 2

聽 聽 聽 聽 聽 聽 nIdScore:= 0
聽 聽 聽 聽 聽 聽 nId:= GrVerify( ttpt , cAntes, @nIdScore , 0 )

聽 聽 聽 聽 聽 聽 *Memowrit("PRUEBA",Subs(ttpt,1,ttptSize))

聽 聽 聽 聽 聽 聽 ttpt:= ""

聽 聽 聽 聽 聽 聽 oWnd:cTitle(Time()+" "+Str(ret)+" "+Str(nId)+" "+Str(nIdScore))

聽 聽 聽 聽 聽 聽 SysWait(1)

聽 聽 聽 聽 聽 聽 GrFinalize()

聽 聽 聽 聽 聽 聽 FreeLibrary(xLib)

聽 聽 聽 聽 聽 聽 lProcesandoHuella:= .F.

聽 聽 聽 聽 聽 ENDIF

聽 聽 聽 聽 ENDIF
聽 聽 聽 ENDIF
聽 聽 ENDIF
聽 ENDIF

ENDIF

RETURN NIL

***


DLL32 FUNCTION GrInitialize() AS LONG PASCAL FROM "_GrInitialize@0" LIB xLib
DLL32 FUNCTION GrFinalize() AS LONG PASCAL FROM "_GrFinalize@0" LIB xLib

*DLL32 FUNCTION GrCapInitialize(status AS LPSTR) AS LONG PASCAL FROM "_GrCapInitialize@4" LIB xLib

DLL32 FUNCTION GrExtract( rawImage AS LONG, width AS LONG, height AS LONG, res AS LONG, ttpt AS LPSTR, @ttptSize AS LONG , context AS LONG ) AS LONG PASCAL FROM "_GrExtract@28" LIB xLib

DLL32 FUNCTION GrIdentifyPrepare( ttpt AS LPSTR, context AS LONG ) AS LONG PASCAL FROM "_GrIdentifyPrepare@8" LIB xLib
DLL32 FUNCTION GrIdentify( ttpt AS LPSTR, @Idscore AS LONG, context AS LONG ) AS LONG PASCAL FROM "_GrIdentify@12" LIB xLib

DLL32 FUNCTION GrVerify( ttpt AS LPSTR, qtpt AS LPSTR, @Idscore AS LONG, context AS LONG ) AS LONG PASCAL FROM "_GrVerify@16" LIB xLib



Saludos...
Fivewin 12.04 + xHarbour 1.2.1 + BCC582



Nada como Fivewin, odio visual basic, visual studio y todas las porquer铆as visual.
Posts: 518
Joined: Fri Jun 29, 2012 12:49 PM
Re: Lector de Huella Personal digital
Posted: Thu Feb 27, 2014 07:05 PM

Hola!!,

Me parece tambi茅n muy interesante. 驴C贸mo quedo el tema?.

Muy agradecida :D :D

Continue the discussion