Clipper On Line • Ver Tópico - Leitor Fingerprint

Leitor Fingerprint

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Leitor Fingerprint

Mensagempor rossine » 31 Jan 2008 17:28

Olá pessoal,

Alguém tem um exemplo de como capturar os dados desta leitora ? Uso fwh + xhb.

Obrigado,
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Mensagempor rochinha » 31 Jan 2008 19:33

Amiguinho

Tempos atras eu comecei a brincar com o SDK dela, mas como não tinha a periférico para testar nem continuei.

Agora descolei um APC BioPod, mas o SDK só é enviado pelo fabricante mediante o envio de um email com dados da nota fiscal de compra e CNPJ.

Por falta de tempo não fiz isto.

Este FingerPrint não é por acaso M$ Fingerprint né? pois se for, voce terá uma dor de cabeça para descolar algum SDK pra ele ja que a M$ colocou o suporte em seus Windows para usar com ele e não disponibiliza de forma fácil qualquer documentação ou SDK.

Talvez a idéia seja voce instalar o software de login do mesmo, chama-lo a partir de seu aplicativo, abrir a base de dados, via OLE/ADO, provavelmente esta base de dados seja MDB criticar as informações e liberar o acesso.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Mensagempor Maligno » 31 Jan 2008 20:52

O ideal seria o uso de SDKs como da Griaule. Eu estava querendo usar um leitor desses num programa que estou fazendo em TC++, como uma opção a mais. No que pese o fato do leitor da MS não ser seguro (nem foi feito pra ser), pensei em comprar. Mas sem ter um bom SDK, não vale a pena dispor de tempo pra isso.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Mensagempor rochinha » 31 Jan 2008 21:03

Amiguinhos

Acabei de passar pelo site Griaule e la indica que o Fingerprint realmente é suportado por seu SDK mas logicamente ele não é gratuito.

Mas é um inicio:

Vejam: http://www.griaule.com/page/en-us/fingerprint_sdk
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Mensagempor Maligno » 31 Jan 2008 21:09

Uai! Mas foi o link que eu passei. :)

Aliás, eles também tem a mesma página em português brasileiro (é só ver lá). Inclusive, um detalhe interessante: o centro técnico deles é no Brasil.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Mensagempor Maligno » 31 Jan 2008 21:29

Uma curiosidade: dei risada quando vi um artigo sobre um pessoal nos EUA que afirma que 90% dos leitores biométricos podem ser burlados com massinha de modelar. :)))

Fico imaginando o ladrão "roubando" a impressão digital de uma vítima. :)))))


PS: A digitalização é em 3D. Logo, não vale imprimir a impressão num papel. Essa "técnica" só dá certo em filme. :)
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Mensagempor toya » 01 Fev 2008 06:56

Baixem aqui um exemplo disponibilizado pelo nosso colega Giovany Vecchi no Forum Fivewin-Brasil...
http://www.toyanet.com.br/up/grfinger.zip
Elcio Carlos
(toya)
Ahora en la version 6.5
toyasis@gmail.com (e-mail)
toyaskype (skype)
http://www.toyanet.com.br
https://www.facebook.com/profile.php?id=100009195956044

FWH 11.8+PellesC+xHarbour.org 1.2.1+SqlRDD
Clippeiro por opção, Fivewiner por amor ao Clipper...
2015 - Iniciante/Aprendiz de HMG...
toya
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 147
Data de registro: 26 Jul 2004 16:51
Cidade/Estado: Campo Grande/MS - Brasil
Curtiu: 4 vezes
Mens.Curtidas: 11 vezes

Mensagempor Maligno » 01 Fev 2008 07:39

Obrigado, Toya. Não vou poder testar, mas vou deixar esse demo guardado. Ainda não comprei nenhum leitor. Só vou comprar quando conseguir o FingerPrint SDK da Griaule. Se você testou, seria legal se pudesse comentar conosco o que achou.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Mensagempor rossine » 01 Fev 2008 08:27

Olá pessoal,

Este FingerPrint não é por acaso M$ Fingerprint ?


o proprio.

Eu estou usando o sdk da griaule (trial). O exemplo do Giovany reconhece o leitor, mas assim que tiro o dedo do leitor, gera um erro de GPF no grfinger.exe.

Vejam este link http://fivetechsoft.com/forums/viewtopic.php?t=7048&highlight=fingerprint

Obrigado a todos,

Rossine.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

grfingerX

Mensagempor rochinha » 01 Fev 2008 09:33

Amiguinhos

Maligno, não havia consultado seu link pois quando comecei a procurar informações seu post não havia entrado.

Rossine, veja se o codigo abaixo é de alguma ajuda:
#include "FiveWin.ch"
#include "Struct.ch"
//#include "adofw.ch"

#DEFINE GR_DEFAULT_CONTEXT 0
#DEFINE GR_NO_CONTEXT  -1

STATIC DBFile, ConnectionString, connection
STATIC Raw, Template, DB
STATIC oActiveX, cMsg, oText, oWnd, cInfo, cEvents, GrFingerXCtrl1
STATIC oFoto, cFoto

FUNCTION Main()
   LOCAL oGet, err, lRet
   cEvents := ""
   cFoto:="..\BITMAPS\cara1.bmp"

   DEFINE DIALOG oWnd RESOURCE "Test"

   //oActiveX = CreateOleObject("GrFingerX.GrFingerXCtrl.1") //Ctrl1")
   //oActiveX := TOleAuto():New( "GrFingerX.GrFingerXCtrl.1" )
   oActiveX := TActiveX():New( oWnd, "GrFingerX.GrFingerXCtrl.1" )

   REDEFINE GET oGet VAR cEvents ID 102 OF oWnd MEMO UPDATE
   REDEFINE BITMAP oFoto ID 103 OF oWnd RESOURCE "Speaker" UPDATE

   oActiveX:bOnEvent = { | event, aParams | cEvents += EventInfo( event, aParams ) }
   ACTIVATE DIALOG oWnd CENTERED ON INIT ( GrFingerInitialize() ) ;
      VALID ( MemoEdit( cEvents ), .t. ) //oActiveX:Do( "GoHome" )
   RETURN NIL

FUNCTION EventInfo( event, aParams )
   //local cMsg := "Event: " + cValToChar( event ) + CRLF
   local n
   cMsg := "Event: " + cValToChar( event ) + CRLF
   cInfo:=""
   cMsg += "Params: "
   for n = 1 to Len( aParams )
       cMsg += cValToChar( aParams[ n ] ) + CRLF
       cInfo += cValToChar( aParams[ n ] ) + CRLF
   next
   /*
    * -----------------------------------------------------------------------------------
    * GrFingerX events:
    * A fingerprint reader was plugged on system
    * -----------------------------------------------------------------------------------
    */
   IF     event=="SensorPlug" //(ByVal idSensor As String)
          cMsg+="Sensor: " + CSTR(aParams[1]) + ". Event: Plugged."
          IF aParams[2] != NIL .AND. aParams[2] != "File"
             oActiveX:Do("CapStartCapture", aParams[2])
             cMsg += "CapStartCapture "+CSTR(aParams[2])
          ENDIF
   ELSEIF event=="Plugged" //(ByVal idSensor As String)
          cMsg+="Sensor: " + CSTR(aParams[1]) + ". Event: Plugged222."
          //      oActiveX:Do("CapStartCapture", aParams[1])
   ELSEIF event=="SensorUnplug" //(ByVal idSensor As String) //' A fingerprint reader was unplugged from system
          cMsg+="Sensor: " + aParams[2]+". Event: Unplugged."
          oActiveX:Do("CapStopCapture", aParams[1])
   ELSEIF event=="FingerDown"  //(ByVal idSensor As String) //' A finger was placed on reader
          cMsg+="Sensor: " + aParams[2] +". Event: Finger Placed."
   ELSEIF event =="FingerUp" //(ByVal idSensor As String) //' A finger was removed from reader
          cMsg += "Sensor: " + aParams[2] + ". Event: Finger removed."
   ELSEIF event == "ImageAcquired" //(ByVal idSensor As String, ByVal width As Long, ByVal height As Long, rawImage As Variant, ByVal res As Long)
          * An image was acquired from reader
          * Copying aquired image
          cMsg += "Sensor: " + CSTR(aParams[1])+" Width"+CSTR(aParams[2]) + ". Event: Image captured."
          raw:img    = aParams[ 9] //rawImage
          raw:height = aParams[ 8] //height
          raw:width  = aParams[ 7] //width
          raw:res    = aParams[10] //res
          * Signaling that an Image Event occurred.
          /*
          FOR n:=6 TO LEN(aParams)
              Msginfo(aparams[n], VALTYPE(aParams[n]))
          NEXT n
          */
          //    Msginfo(LEN(aparams[9]))
          //    msginfo(CSTR(aParams[2])+"|"+CSTR(aParams[3])+"|"+CSTR(aParams[4])+"|"+CSTR(aParams[5]))
          //    msginfo(CSTR(aParams[1])+"|"+CSTR(aParams[3])+"|"+CSTR(aParams[4])+"|"+CSTR(aParams[5]))
          cMsg += "Sensor: " + CSTR(aParams[2]) + ". Event: Image captured."
          * display fingerprint image
          PrintBiometricDisplay(.F., GR_DEFAULT_CONTEXT)
          /*
              ' now we have a fingerprint, so we can extract template
              formMain.btExtract.Enabled = True
              formMain.btEnroll.Enabled = False
              formMain.btIdentify.Enabled = False
              formMain.btVerify.Enabled = False
             
              ' extracting template from image
              If formMain.ckBoxAutoExtract.Value Then Call formMain.btExtract_Click
              ' identify fingerprint
              If formMain.ckBoxAutoIdentify.Value Then Call formMain.btIdentify_Click
          */
   ENDIF
   oWnd:Update()
   return cMsg + CRLF

/*
' -----------------------------------------------------------------------------------
' Main functions for fingerprint recognition management
' -----------------------------------------------------------------------------------
*/
FUNCTION GrFingerInitialize()
  LOCAL err, lRet:=.F.
  STRUCT raw
         MEMBER img As STRING LEN 2048
         MEMBER width As LONG  // Image width.
         MEMBER height As LONG // Image height.
         MEMBER res As LONG    // Image resolution.
  ENDSTRUCT
  STRUCT Template
         MEMBER tpt AS STRING LEN 1000
         * Template size
         MEMBER Size AS LONG
  ENDSTRUCT
  * Create a new Template
  template:tpt := SPACE(1000)
  * Create a new raw image
  raw:width    := 0
  raw:height   := 0
  * Initializing library
  err = oActiveX:Do("Initialize")
  If err < 0
     lRet:= err
     RETURN NIL
  EndIf
  lRet := oActiveX:Do("CapInitialize")
  RETURN lRet

FUNCTION FinalizeGrFinger()
  * Finalizing libraries
  oActiveX:Do("CapFinalize") //formMain.GrFingerXCtrl1.CapFinalize
  oActiveX:Do("Finalize") //formMain.GrFingerXCtrl1.Finalize
  RETURN NIL

FUNCTION PrintBiometricDisplay(biometricDisplay, context )
  * Display fingerprint image on screen
  LOCAL nRet, Handle
  * handle to finger image
  * Dim handle As IPictureDisp
  */
  msginfo("printbio-1")
  If biometricDisplay
     msginfo("biometricdisplay")
     *' get image with biometric info
     //oActiveX:Do("biometricdisplay", template.tpt, raw.img, raw.width, raw.height, raw.res, formMain.hDC, handle, context)
     //formMain.GrFingerXCtrl1.biometricDisplay template.tpt, raw.img, raw.width, raw.height, raw.res, formMain.hDC, handle, context
  Else
     *' get raw image
     //oActiveX:Do("CapRawImageToHandle", raw:img, raw:width, raw:height, oWnd:hDC, @handle)
     //formMain.GrFingerXCtrl1.CapRawImageToHandle raw.img, raw.width, raw.height, formMain.hDC, handle
     ActXInvoke( ActXPdisp( oActiveX:hActiveX ), "CapRawImageToHandle", raw:img, raw:width, raw:height, oWnd:hDC, @handle)
     msginfo(Handle)
  End If
  *' draw image on picture box
  If !(handle ==NIL)
      oFoto:Picture = handle
      Msginfo()
      oFoto:Update()
  End If
  RETURN NIL  //End Sub

FUNCTION CSTR( string )
  RETURN string
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Mensagempor rochinha » 01 Fev 2008 11:26

Amiguinho

Outro exemplo:
// Using Microsoft Excel ActiveX

#include "FiveWin.ch"
#include "Struct.ch"

#DEFINE GR_DEFAULT_CONTEXT 0
#DEFINE GR_NO_CONTEXT  -1

STATIC DBFile, ConnectionString, connection
STATIC Raw, Template, DB
STATIC oActiveX, cMsg, oText, oWnd, cInfo, cEvents, GrFingerXCtrl1
STATIC oFoto, cFoto

function Main()

   local oWnd
   public oActiveX, oBitMap, oLbx, aFlds:={ "GRFinger for Fivewin..." }, nItem:=0
   public cFile, MyContextID := "0"

   DEFINE DIALOG oWnd RESOURCE "GRFingerX"

   REDEFINE BITMAP oBitMap ID 100 OF oWnd FILENAME "GRFinger.bmp" //ADJUST
   REDEFINE BUTTON ID 101 OF oWnd ACTION Enroll()
   REDEFINE BUTTON ID 102 OF oWnd ACTION Verify()
   REDEFINE BUTTON ID 103 OF oWnd ACTION Identify()
   REDEFINE BUTTON ID 104 OF oWnd ACTION Extract()
   REDEFINE BUTTON ID 105 OF oWnd ACTION fun()
   REDEFINE BUTTON ID 106 OF oWnd ACTION oBitMap:LoadBMP(cFile:=cGetFile("Gráficos|*.bmp","Selecione um arquivo")); oBitMap:Refresh()
   REDEFINE LISTBOX oLbx VAR nItem ;
                   ITEMS aFlds ;
                   ID 107 OF oWnd
   ACTIVATE DIALOG oWnd CENTERED ON INIT InicializaControle() ;
                        VALID ( oActiveX:Finalize(), oActiveX:DestroyContext( MyContextID ), .T. )

   return nil

FUNCTION InicializaControle()
   if .not. IsActiveX( "GrFingerX.GrFingerXCtrl.1" )
      oLbx:ADD("GRFingerX Activex nao instalado")
      quit
   endif
   oActiveX := TOLEAUTO():New("GrFingerX.GrFingerXCtrl.1")
   // Inicializa a captura do activex
   oError := oActiveX:Initialize()
   if oError <> 0
      oLbx:ADD( "Erro de Inicializacao "+str(oError,3) )
   endif
   // Inicializa a captura do activex
   oError := oActiveX:CapInitialize()
   if oError <> 0
      oLbx:ADD( "Erro de Captura "+str(oError,3) )
   endif
   // Cria contexto para o activex
   oError := oActiveX:CreateContext( MyContextID )
   if oError <> 0
      oLbx:ADD( "Erro de Criacao do Contexto "+str(oError,3) )
   endif
   oError := oActiveX:CapLoadImageFromFile( "GRFingerX.bmp", 300 )
   if oError <> 0
      oLbx:ADD( "Erro de Carregamento de Imagem "+str(oError,3) )
   endif
   return nil

FUNCTION GrFingerFinalize(oActiveX)
  oActiveX:Do( "CapFinalize" )
  oActiveX:Do( "Finalize" )
  RETURN NIL

FUNCTION GrFingerBiometricDisplay( template, RawImg, RawWidth, RawHeight, RawRes, hDC, handle, context )
  oActiveX:Do( "biometricdisplay", template, RawImg, RawWidth, RawHeight, RawRes, hDC, handle, context )

  msginfo("printbio-1")
  If biometricDisplay
     msginfo("biometricdisplay")
     *' get image with biometric info
     //oActiveX:Do("biometricdisplay", template.tpt, raw.img, raw.width, raw.height, raw.res, formMain.hDC, handle, context)
     //formMain.GrFingerXCtrl1.biometricDisplay template.tpt, raw.img, raw.width, raw.height, raw.res, formMain.hDC, handle, context
  Else
     *' get raw image
     //oActiveX:Do("CapRawImageToHandle", raw:img, raw:width, raw:height, oWnd:hDC, @handle)
     //formMain.GrFingerXCtrl1.CapRawImageToHandle raw.img, raw.width, raw.height, formMain.hDC, handle
     ActXInvoke( ActXPdisp( oActiveX:hActiveX ), "CapRawImageToHandle", raw:img, raw:width, raw:height, oWnd:hDC, @handle)
     msginfo(Handle)
  End If
  *' draw image on picture box
  If !(handle ==NIL)
      oFoto:Picture = handle
      Msginfo()
      oFoto:Update()
  End If
  RETURN NIL  //End Sub

FUNCTION GrFingerDestroyContext( MyContextID )
  lRet := oActiveX:Do( "DestroyContext", MyContextID )
  RETURN lRet

FUNCTION CSTR( string )
  RETURN string

FUNCTION Enroll()
  RETURN .t.

FUNCTION Verify()
  RETURN .t.

FUNCTION Identify()
  RETURN .t.

FUNCTION Extract()
  LOCAL err, lRet:=.F.
  STRUCT raw
         MEMBER img    As STRING LEN 2048
         MEMBER width  As LONG // Image width.
         MEMBER height As LONG // Image height.
         MEMBER res    As LONG // Image resolution.
  ENDSTRUCT
  STRUCT Template
         MEMBER tpt    AS STRING LEN 1000
         MEMBER Size   AS LONG
  ENDSTRUCT
  template:tpt := SPACE(1000)
  template:size:= 500
  raw:img      := oBitMap:hBitmap
  raw:width    := oBitMap:nWidth
  raw:height   := oBitMap:nHeight
  oError := oActiveX:Extract( raw:img, raw:Width, raw:Height, 500, template:tpt, template:size, MyContextID )
  if oError < 0
     oLbx:ADD( "Erro de Extracao "+str(oError,3) )
  endIf
  RETURN .t.

FUNCTION fun()
  RETURN .t.


E fazendo alterações e dando certo por favor POSTe para nóis.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Mensagempor rossine » 01 Fev 2008 13:08

Olá Rochinha,

Está faltando o RC, hehehe

Abs,

Rossine.
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Mensagempor rossine » 01 Fev 2008 13:23

Fiz o rc aqui :)

T+
Rossine.

Harbour 3.4, MingW / Msvc, QT, Qt5xhb, GtQtc, DbfCdx, MySql/MariaDB.
rossine
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 313
Data de registro: 06 Ago 2007 09:57
Cidade/Estado: Divinópolis-MG
Curtiu: 1 vez
Mens.Curtidas: 21 vezes

Mensagempor Maligno » 09 Fev 2008 21:31

toya escreveu:Baixem aqui um exemplo disponibilizado pelo nosso colega Giovany Vecchi no Forum Fivewin-Brasil...
http://www.toyanet.com.br/up/grfinger.zip

Comprei o FingerPrint Reader da MS. Baixei, instalei e executei este programa exemplo, mas não deu certo. Desinstalei tudo da MS e reinstalei o Griaule e nada. O programa não reconhece o leitor. Alguma dica?

Aliás, alguém conhece algum outro SDK "multimarcas" fora o Griaule e o Verifinger?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar de usuário

Maligno
Membro Master

Membro Master
 
Mensagens: 6390
Data de registro: 06 Jul 2004 01:40
Cidade/Estado: Londrina/PR
Curtiu: 1 vez
Mens.Curtidas: 14 vezes

Mensagempor alaminojunior » 09 Fev 2008 22:30

PS: A digitalização é em 3D. Logo, não vale imprimir a impressão num papel. Essa "técnica" só dá certo em filme. :)


E se arrancar o dedo do caboclo ? ´o)
Compilador xHarbour 1.2.3 + Embarcadero C++ 7.30
MySQL c/ SQLRDD
HwGui + GTWVG
Avatar de usuário

alaminojunior
Colaborador

Colaborador
 
Mensagens: 1689
Data de registro: 16 Dez 2005 20:26
Cidade/Estado: Ubatuba - SP
Curtiu: 27 vezes
Mens.Curtidas: 11 vezes

Próximo



Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 13 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro