Ir al contenido



Foto

[RESUELTO] Sobre lector biometrico


  • Por favor identifícate para responder
37 respuestas en este tema

#21 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.135 mensajes
  • LocationRepública Dominicana

Escrito 01 marzo 2011 - 11:41

Pues lamentablemente las cosas no funcionan asi, debes descargar esos datos a un archivo de texto para luego leer ese archivo linea por linea y guardarlo en una base de datos, ya que esos equipos tienen una capacidad para guardar registros que varian de 30,000 a 50,000, asi que cierto tiempo hay que ir limpiandola cada vez que se descargue.

Saludos.
  • 0

#22 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 377 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 01 marzo 2011 - 11:44

Pues lamentablemente las cosas no funcionan asi, debes descargar esos datos a un archivo de texto para luego leer ese archivo linea por linea y guardarlo en una base de datos, ya que esos equipos tienen una capacidad para guardar registros que varian de 30,000 a 50,000, asi que cierto tiempo hay que ir limpiandola cada vez que se descargue.

Saludos.

entiendo... lo sospeche, en fin gracias amigo por la ayuda...
  • 0

#23 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.135 mensajes
  • LocationRepública Dominicana

Escrito 01 marzo 2011 - 11:46

entiendo... lo sospeche, en fin gracias amigo por la ayuda...


Pues aqui estamos, si consideras que el tema esta resuelto, por favor me avisas.

Saludos.
  • 0

#24 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 377 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 01 marzo 2011 - 11:49


entiendo... lo sospeche, en fin gracias amigo por la ayuda...


Pues aqui estamos, si consideras que el tema esta resuelto, por favor me avisas.

Saludos.

claro, demos por cerrado este tema.

  • 0

#25 nomarlegnar

nomarlegnar

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 03 julio 2012 - 09:33

Pues estas de suerte mi estimado, de esa compania es con la cual trabajo, y uso su libreria ZK, en la red la puedes encontrar, asi que cuando tengas esa SDK vaya disparando ;)


Se que este tema se ha cerrado, pero me queda la duda de como instalar el SDK que descargas de la pagina... segun info del SDK viene un instalador pero en realidad no viene nada... si descargo lo que viene aqui  http://usa.zkteco.com/view.do?id=38 donde lo pego o que habra que hacer para echarlo andar... les agradeceria muchisimo la ayuda maestro...
  • 0

#26 Osvaldojc

Osvaldojc

    Newbie

  • Miembros
  • Pip
  • 1 mensajes

Escrito 22 enero 2014 - 05:20

Viendo bien el asunto quiero preguntarte lo siguiente: cuando haces la coneccion al equipo la varianle devport es el numero de puerto o el numero de equipo??: la coneccion deberia de hacerse de la siguiente manera:



delphi
  1. var
  2.   Connect: Boolean;
  3.   DevID: Integer;
  4.  
  5. procedure conectar(ip: string; puerto: integer; NumMaq: integer);
  6. begin
  7.   Connect := ZK.Connect_Net(ip,puerto);
  8.   DevID := NumMaq;
  9. end;
  10.  
  11. procedure TForm1.btnDownClick(Sender: TObject);
  12. begin
  13. Conectar(127.0.0.1, 4370, 1); //4370 es el puerto que se utiliza esos equipos
  14.  
  15. if connect then begin
  16.   if ZK.ReadAllGLogData(DevId) then
  17.     while ZK.SSR_GetGeneralLogData(DevId,dwEnrollNumber,dwVerifyMode,dwInOutMode,
  18.                                   dwYear,dwMonth,dwDay,dwHour,dwMinute,dwSecond,dwWorkCode) do
  19.     begin
  20.       ShortDateFormat := 'yyyy/mm/dd';
  21.       ShortTimeFormat := 'hh:mm';
  22.       TimeSeparator := ':';
  23.       DateSeparator := '/';
  24.       Fecha := StrToDateTime(IntToStr(dwYear)+'/'+IntToStr(dwMonth)+'/'+IntToStr(dwDay)+' '+IntToStr(dwHour)+':'+IntToStr(dwMinute));
  25.       s := format('%.*d',[7,StrToInt(dwEnrollNumber)])+'>'+FormatDateTime('yyyy/mm/dd', Fecha)+':'+FormatDateTime('hh:mm', Fecha) + Char(#13) + Char(#10);
  26.       Data.Add(s);
  27.     end; 
  28.   end;
  29. end;



Saludos.

disculpa las molestias, creen que puedan apoyarme a la aclaracion del codigo del chico que a mi me sigue apareciendo error en parametros '%.*d en el format??? espero puedan responderme amigos disculpen el año que paso
  • 0

#27 gustavodiego

gustavodiego

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 08 septiembre 2014 - 09:06

Hola

Prueba con esto



delphi
  1. format('%.*d',[7,dwEnrollNumber])



Salud OS


Edito, no vi bien el cast que haces, no hagas caso a este post. Sorry


  • 0

#28 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationCiudad de México

Escrito 26 agosto 2015 - 09:33

Hola Enecumene,

 

Sigues trabajando con ZK?

 

Saludos!!


  • 0

#29 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.135 mensajes
  • LocationRepública Dominicana

Escrito 26 agosto 2015 - 10:59

Hola Enecumene,
 
Sigues trabajando con ZK?
 
Saludos!!


No se me ha vuelto a presentar la oportunidad, pero cualquier cosa aqui ando.

Saludos.
  • 0

#30 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationCiudad de México

Escrito 26 agosto 2015 - 09:37

Enecumene,

 

Estoy trabajando con los lectores de ZK, algoritmo 10 y estoy teniendo problemas a la hora de descargar y cargar los templates de las huellas. Es un TFT y lo curioso es que con algunos modelos, en teoría con las características similares consigo bajar y subir las huellas, pero con otros no. Lo frustrante es que uso el programa nativo de ZK y funciona a la perfección.

 

Tienes alguna idea del proceso y de las funciones estandar utilizadas para esto?

 

Gracias!!


  • 0

#31 FerCastro

FerCastro

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 604 mensajes
  • LocationCiudad de México

Escrito 28 agosto 2015 - 09:47

Listo, asunto resuelto  :)

 

Saludos!!


  • 0

#32 bitbow

bitbow

    Member

  • Miembros
  • PipPip
  • 10 mensajes

Escrito 07 abril 2016 - 11:37

Esos de que esten cambiando de funciones por modelos nuevos esta mal plan, nos damos cuenta cuando el programa truena, y en es momento es por que ya urge la info.

 

Pareciea que solo entre para quejarme, jejeje, el post ha sido de mucha ayuda, gracias.


  • 0

#33 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 13.499 mensajes
  • LocationMéxico

Escrito 07 abril 2016 - 12:35

Esos de que esten cambiando de funciones por modelos nuevos esta mal plan, nos damos cuenta cuando el programa truena, y en es momento es por que ya urge la info.

 

Pareciea que solo entre para quejarme, jejeje, el post ha sido de mucha ayuda, gracias.

 

 

Hola bitbow

 

Veamos el lado amable, ya puedes cobrar un extra por los ajustes al proyecto ;)

 

Saludos y bienvenido a delphiaccess.


  • 0

#34 Desarrollador1

Desarrollador1

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 03 abril 2017 - 01:30

Hola a todos, no se si aun me puedan ayudar. principalmente Sr. enecumene.

Mi consulta es la siguiente: Tengo una aplicación que usa la librería zkemkeeper.dll para el manejo de relojes biométricos de marcación modelo X628-C la aplicación funciona casi del todo bien, pues al intentar extraer las marcaciones del reloj hay ocasiones en que me envía los siguientes errores:

  • TCP send ERROR No error y
  • recv error No error

Utilizo las funciones ReadGeneralLogData y GetGeneralLogData  respectivamente para obtener los datos de marcaciones que se encuentran en los relojes y almacenarlos en una base de datos SQL Server.

Esta aplicación la herede de la persona que ocupaba mi puesto anteriormente y al caer en esos errores la aplicación demora una eternidad en seguir con los demás relojes, la aplicación incluso la modifique para que haga ping a cada reloj antes de intentar descargar los datos del mismo pero aun así me siguen apareciendo esos errores, hago saber también que estos relojes al parecer nunca han sido borrados porque al traer los datos de los mismos a una tabla nueva trajo datos desde el 2015.

En verdad espero me puedan ayudar y gracias por su atención y éxito en sus labores.

 

P.D.: Otra cosa, la aplicación esta hecha en Visual Studio Ultimate 2012Archivo adjunto  recvError23.png   260,1KB   0 descargas


  • 0

#35 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.135 mensajes
  • LocationRepública Dominicana

Escrito 03 abril 2017 - 02:01

Hola!, bueno sin criticar la plataforma, pero.., por algo se tarda un buen :D, ahora bien, si son muchos equipos y a la vez muchos registros es normal que tarde un poco, por otro lado hay que ver cómo recorres la información, lo normal, más rápido y más efectivo es descargar la info en un archivo de texto por cada equipo (reloj1.txt, reloj2.txt), y luego recorrer cada archivo y guardar a la base de datos, tal vez estés haciendo la carga directamente a la Base de datos y puede presentarse algún problema de timeOut ó de concurrencias.


  • 0

#36 Agustin Ortu

Agustin Ortu

    Advanced Member

  • Moderadores
  • PipPipPip
  • 744 mensajes
  • LocationArgentina

Escrito 03 abril 2017 - 02:34

Hola a todos, no se si aun me puedan ayudar. principalmente Sr. enecumene.

Mi consulta es la siguiente: Tengo una aplicación que usa la librería zkemkeeper.dll para el manejo de relojes biométricos de marcación modelo X628-C la aplicación funciona casi del todo bien, pues al intentar extraer las marcaciones del reloj hay ocasiones en que me envía los siguientes errores:

  • TCP send ERROR No error y
  • recv error No error

Utilizo las funciones ReadGeneralLogData y GetGeneralLogData  respectivamente para obtener los datos de marcaciones que se encuentran en los relojes y almacenarlos en una base de datos SQL Server.

Esta aplicación la herede de la persona que ocupaba mi puesto anteriormente y al caer en esos errores la aplicación demora una eternidad en seguir con los demás relojes, la aplicación incluso la modifique para que haga ping a cada reloj antes de intentar descargar los datos del mismo pero aun así me siguen apareciendo esos errores, hago saber también que estos relojes al parecer nunca han sido borrados porque al traer los datos de los mismos a una tabla nueva trajo datos desde el 2015.

En verdad espero me puedan ayudar y gracias por su atención y éxito en sus labores.

 

P.D.: Otra cosa, la aplicación esta hecha en Visual Studio Ultimate 2012attachicon.gifrecvError23.png

 

 

Hola Desarrollador1, bienvenido a Delphi Access

 

Creo que vamos a necesitar mirar ese codigo para ver porque falla o porque esta tan lento, de otro modo es comenzar a jugar a las adivinanzas


  • 0

#37 Desarrollador1

Desarrollador1

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 03 abril 2017 - 02:53


delphi
  1. Dim sdwEnrollNumber As String = ""
  2. Dim idwVerifyMode As Integer
  3. Dim idwInOutMode As Integer
  4. Dim idwYear As Integer
  5. Dim idwMonth As Integer
  6. Dim idwDay As Integer
  7. Dim idwHour As Integer
  8. Dim idwMinute As Integer
  9. Dim idwSecond As Integer
  10. Dim idwWorkcode As Integer
  11. 'Dim idwErrorCode As Integer
  12. Dim checktype As String = ""
  13. Dim iGLCount = 0
  14. Dim x As Integer
  15. Dim tipo_jornada As String = ""
  16. Dim ds As New DataSet
  17. Dim tablaMarcaciones As New DataTable
  18. 'se agregan las columnas al dataTable tablaMarcaciones
  19. Dim datos As DataRow
  20. tablaMarcaciones.Columns.Add("iGLCount", GetType(Integer))
  21. tablaMarcaciones.Columns.Add("EnrollNumber", GetType(String))
  22. tablaMarcaciones.Columns.Add("idwVerifyMode", GetType(Integer))
  23. tablaMarcaciones.Columns.Add("Fecha", GetType(String))
  24. tablaMarcaciones.Columns.Add("idwWorkcode", GetType(String))
  25. tablaMarcaciones.Columns.Add("iMachineNumber", GetType(String))
  26. tablaMarcaciones.Columns.Add("idwInOutMode", GetType(String))
  27. tablaMarcaciones.Columns.Add("checktype", GetType(String))
  28. 'se deshabilita el reloj
  29. objClock.EnableDevice(machine, False)
  30. Try
  31. 'leemos todos los registros de las marcaciones del reloj
  32. If objClock.ReadGeneralLogData(machine) Then
  33. While objClock.SSR_GetGeneralLogData(machine, sdwEnrollNumber, idwVerifyMode, idwInOutMode, idwYear, idwMonth, idwDay, idwHour, idwMinute, idwSecond, idwWorkcode)
  34. datos = tablaMarcaciones.NewRow()
  35. iGLCount += 1
  36. datos("iGLCount") = iGLCount.ToString()
  37. datos("EnrollNumber") = sdwEnrollNumber.ToString()
  38. datos("idwVerifyMode") = idwVerifyMode.ToString()
  39. 'verificamos el tipo de marcación, es decir, entrada, salida, inicio de almuerzo y salida de almuerzo
  40. If idwInOutMode.ToString() = "0" Then
  41. checktype = "I"
  42. ElseIf idwInOutMode.ToString() = "1" Then
  43. checktype = "O"
  44. ElseIf idwInOutMode.ToString() = "2" Then
  45. checktype = "0"
  46. ElseIf idwInOutMode.ToString() = "3" Then
  47. checktype = "1"
  48. End If
  49. datos("checktype") = checktype
  50. datos("Fecha") = idwMonth.ToString().PadLeft(2, "0") & "/" & idwDay.ToString().PadLeft(2, "0") & "/" & idwYear.ToString() & " " & idwHour.ToString().PadLeft(2, "0") & ":" & idwMinute.ToString().PadLeft(2, "0") & ":" & idwSecond.ToString().PadLeft(2, "0") '& tipo_jornada
  51. datos("idwWorkcode") = idwWorkcode.ToString()
  52. datos("iMachineNumber") = machine.ToString()
  53. datos("idwInOutMode") = idwInOutMode.ToString()
  54. 'agregamos los datos leidos al dataTable tablaMarcaciones
  55. tablaMarcaciones.Rows.Add(datos)
  56. x = x + 1
  57. End While
  58. archLog(3) = x.ToString()
  59. Else
  60. 'insertError(ip, machine, "getcheckin2_Error: No se descargaron las marcaciones", conexion, cmd)
  61. Console.WriteLine("No se descargaron las marcaciones")
  62. End If
  63. Catch ex As Exception
  64. insertError(ip, machine, "getcheckin2_Exception: " & ex.ToString(), conexion, cmd)
  65. Console.WriteLine(ex.Message)
  66. System.Threading.Thread.Sleep(5000)
  67. End Try
  68. 'habilitamos el reloj
  69. objClock.EnableDevice(machine, True)
  70. 'devolvemos el dataTable tablaMarcaciones con los registros del reloj
  71. Return tablaMarcaciones 

 
 
Ese es el código por medio del cual se leen los datos del reloj
Gracias por su ayuda.


Editado por Agustin Ortu, 03 abril 2017 - 03:42 .
Etiquetas de codigo

  • 0

#38 Desarrollador1

Desarrollador1

    Newbie

  • Miembros
  • Pip
  • 3 mensajes

Escrito 03 abril 2017 - 03:00

Hola!, bueno sin criticar la plataforma, pero.., por algo se tarda un buen :D, ahora bien, si son muchos equipos y a la vez muchos registros es normal que tarde un poco, por otro lado hay que ver cómo recorres la información, lo normal, más rápido y más efectivo es descargar la info en un archivo de texto por cada equipo (reloj1.txt, reloj2.txt), y luego recorrer cada archivo y guardar a la base de datos, tal vez estés haciendo la carga directamente a la Base de datos y puede presentarse algún problema de timeOut ó de concurrencias.

 

jajajajajajaja si lo se  :D, pero es lo que hay en la empresa, si se guarda directo a la base de datos.


  • 0