Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - 9tnix

Páginas: [1]
1
Visual Basic 6 / Re:Biomini Slim SFU-S20
« en: Noviembre 18, 2016, 05:29:50 pm »
Hola obethermy

Gracias por responder, sobre el codigo

Código: [Seleccionar]
lHuella_bd = lBase64.DecodeToByteArray("huella")

Tanto lHuella_bd y lBase64.DecodeToByteArray son de tipo byte, el primero es un array de bytes con tamaño definido y el metodo DecodeToByteArray devuelve un array de bytes este lo uso para leer imagenes en la bd las imagenes guardadas como texto y no tengo problema alguno.
Aca con lo que no me funciona es cuando hago la comparación de huellas, estoy tratando de crear un array de bytes a partir de una string y pasarselo al array lHuella_bd.
lEmpleado.DedoIndice contiene una String de la imagen de la huella, y eso es lo que le paso a DecodeToByteArray(String)

Como podría hacer para que me devuelva en todo caso el array para una variable array que tiene un tamaño definido? y como obtengo el tamaño de un array como el que se necesita para compararlo con el otro array?

Código: [Seleccionar]
  Dim lHuella_bd(MAX_TEMPLATE_SIZE -1) as byte '// Array de bytes de la huella en la bd
  '....
 
  If lHPE = 2 Then
        '// Leo la huella que esta guardada como texto en la bd, esto lo convierte a array de bytes
        lHuella_bd = lBase64.DecodeToByteArray(lEmpleado.DedoIndice)   '<< aqui me sale el error no se puede asignar
        lHuella_bd_tam = UBound(lHuella_bd)
      Else
        lHuella_bd = lBase64.DecodeToByteArray(lEmpleado.DedoMedio)
        lHuella_bd_tam = UBound(lHuella_bd)
      End If
      '// Compara la huella que esta en el array ñHuella (del lector ) y lHuella_bd (huella del empleado en la bd)
      lUfm_res = UFM_Verify(m_hMatcher, lHuella(0), lHuella_tam, lHuella_bd(0), lHuella_bd_tam, lResultado)
    '....


2
Visual Basic 6 / Biomini Slim SFU-S20
« en: Noviembre 17, 2016, 12:26:27 pm »
Hola amigos

Hace poco cayo el lector de huellas Suprema BioMini Slim SFU-S20 en mis manos pero esto de los arrays se me complica y queria su apoyo, resulta que tengo una bd en postgres y tengo guardados imagenes como texto de huellas digitales y queria hacer el match entre la huella que captura el lector y las huellas que saco de la bdatos.

Según el sdk es simple como esto

Código: [Seleccionar]

' Assume template size is 1024 bytes

Const MAX_TEMPLATE_SIZE As Long = 1024
Dim ufm_res As UFM_STATUS
Dim hMatcher As Long
Dim Template1(MAX_TEMPLATE_SIZE - 1) As Byte
Dim Template2(MAX_TEMPLATE_SIZE - 1) As Byte
Dim Template1Size As Long
Dim Template2Size As Long
Dim VerifySucceed As Long

 
' Create hMatcher

' Get two templates, Template1 and Template2
'Se debe tener 2 arrays de bytes con los datps de la huella y el tamaño de cada array para hacer la comparacion
ufm_res = UFM_Verify(hMatcher, Template1(0), Template1Size, Template2(0), Tempalte2Size, VerifySucceed)

If (ufm_res = UFM_STATUS.OK) Then
' UFM_Verify is succeeded
If (VerifySucceed = 1) Then
' Template1 is matched to Template2
Else
' Template1 is not matched to Template2
End If

Else
     ' UFM_Verify is failed
' Use UFM_GetErrorString function to show error string
End If


La descripcion de los parametros

Parameters
hMatcher:              [in] Handle of the matcher object
pTemplate1           [in] Pointer to the template
nTemplate1Size     [in] Specifies the size of the template
pTemplate2           [in] Pointer to the template array
nTemplate2Size     [in] Specifies the size of the template array
bVerifySucceed      [out] Receives whether verification is succeed; 1: verification is succeed, 0: verification is failed


Este es el codigo que estoy haciendo

Código: [Seleccionar]
  Const MAX_TEMPLATE_SIZE As Long = 1024
  Dim lHuella_bd(MAX_TEMPLATE_SIZE -1) as byte '// Array de bytes de la huella en la bd
  Dim lHuella(MAX_TEMPLATE_SIZE -1) as byte   '// Array de bytes de la huella del lector
  Dim lHuella_tam as long                       '// Tamaño de huella
  Dim lHuella_bd_tam as long                 '// Tamaño de huella en la bd
  Dim lBase64   As Base64Class             '// Convierte String a bytes y viceversa
  Dim lEmpleado As EN_Empleado          '// Registro de Empleado
  Dim lHPE      As Byte                             '// huellas por empleado
 
  'se asume que lHuella tiene el array del lector, eso si esta correcto

  Set lBase64 = New Base64Class
 
  '// Recorriendo la lista de empleados
  If m_empleados.TotalRegistros > 0 Then
    m_empleados.IrInicio
    lHPE = 2
    Do Until m_empleados.FinalRegistro
      Set lEmpleado = m_empleados.GetRegistro
      '// Obtiene la huella del dedo indice
      If lHPE = 2 Then
        '// Leo la huella que esta guardada como texto en la bd, esto lo convierte a array de bytes
        lHuella_bd = lBase64.DecodeToByteArray(lEmpleado.DedoIndice)   '<< aqui me sale el error no se puede asignar
        lHuella_bd_tam = UBound(lHuella_bd)
      Else
        lHuella_bd = lBase64.DecodeToByteArray(lEmpleado.DedoMedio)
        lHuella_bd_tam = UBound(lHuella_bd)
      End If
      '// Compara la huella que esta en el array ñHuella (del lector ) y lHuella_bd (huella del empleado en la bd)
      lUfm_res = UFM_Verify(m_hMatcher, lHuella(0), lHuella_tam, lHuella_bd(0), lHuella_bd_tam, lResultado)
      If lUfm_res <> UFM_STATUS.OK Then
        UFM_GetErrorString lUfm_res, m_strError
        MsgBox m_strError, vbCritical
        Exit Function
      Else
        If lResultado = 1 Then
          MsgBox "Resultado de Comparacion" & vbCrLf & _
                 "Empleado: " & lEmpleado.Nombre, vbInformation
          Exit Do
        End If
      End if
      lHPE = lHPE - 1
      If lHPE = 0 Then
        m_empleados.IrSiguiente
      End If
    Loop

Una mano amigos, alguien que haya usando este lector de huellas comparando estos arrays

Gracias de antemano
Salu2

Páginas: [1]