Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Pues con esas modificaciones tampoco va

Cita:
Empezado por socger
En Fecha primer día de validez de la tarjeta: 09-09-2006
y en Fecha en la que termina la validez de la tarjeta: 09-09-2011
Pues no da, jejeje, me da fechas entorno al 1970 y el año 2038
Incluso miré sin sumar el 1970 ... a ver si daba fechas mejores... pero nop

(Veasé la rutina devolver_fecha)

He añadido un par de lineas de debug:
"Fecha sumando 1970" y "Fecha partiendo de 1900". Lo hice porque ya dudaba que la fecha base de un TTime_Real fuese el 01/01/1970

Estos son los datos que obtengo para el conductor diego Antonio:
Código:
                                   Segundos leidos de archivo 2150951235
                                   Valor en dias obtenido: 24.895,27 (unos 68 años más o menos)
                                    Fecha sumando el 1970: 28/02/2038 06:27:15 
                                    Fecha partiendo de 1900: 27/02/1968 06:27:15 
*** Fecha en que se expidió la tarjeta: 28/02/2038 06:27:15 


                                   Segundos leidos de archivo 14935875
                                   Valor en dias obtenido: 172,87
                                    Fecha sumando el 1970: 22/06/1970 20:51:15 
                                    Fecha partiendo de 1900: 20/06/1900 20:51:15 
*** Fecha primer día de validez de la tarjeta: 22/06/1970 20:51:15


                                   Segundos leidos de archivo 3559245
                                   Valor en dias obtenido: 41,19
                                    Fecha sumando el 1970: 11/02/1970 04:40:45 
                                    Fecha partiendo de 1900: 09/02/1900 04:40:45 
*** Fecha en la que termina la validez de la tarjeta: 11/02/1970 04:40:45
*** Apellidos/nombre titular de la tarjeta: MIÑANO MORENO, DIEGO ANTONIO
O sea:
- La tarjeta se expidió hace 68 años más o menos desde la fecha base
- Fecha primer día de validez: 172 días más o menos desde la fecha base
- Fecha termina la validez: 41 dias desde la fecha base

Causas de que eso no vaya bien:
- Estamos olvidando un detalle del famoso pdf
- No está leyendo bien del archivo (aunque no da errores de lectura, puede que esté interpretando datos que no deberían leerse así).
- Las fechas no parten desde el 1970, sino de otra fecha. (esto es improbable, ya que lo dice expresamente el pdf, salvo error tipográfico ).

- He modificado las líneas ReadBuffer, ya que ponías a mano el número de bytes a leer, yo he puesto sizeof(Tipo_de_registro).
- También he modificado la rutina devolver_fechas.

... pero seguimos igual que antes .

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 10-10-2007 a las 20:56:21.
Responder Con Cita
  #2  
Antiguo 13-06-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Basándome en el programita de Lepe, he hecho algunas pruebas y desde luego que si es desde 1970, no cuadran las fechas.
¿Puede ser que no se estén leyendo los datos correctos?, casi seguro que es eso.

No he revisado la parte que lee el fichero, he supuesto que está leyendo los bytes correctos.

Última edición por Casimiro Noteví fecha: 13-06-2007 a las 00:54:42.
Responder Con Cita
  #3  
Antiguo 13-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Yo si hice 1 sola traza de la rutina de lectura; lo hace bien.

Lo que fastidia bastante, es que el resto de datos de ese registro TCard_Identification lo devuelve correctamtente.
Código:
       card_Issuing_Member_State:   Byte;                   // NationNumeric, ...  1 byte INTEGER(0..255) por defecto (00) ver apdo 2.72. NationNumeric
        card_Number:                 TCard_Number_Conductor; // CardNumber     ... 16 byte por defecto (20..20) ver apdo. 2.21 CardNumber
        card_Issuing_Authority_Name: TName;                  // Name,          ... 36 byte por defecto (20..20) ver apdo. 2.70 Name
        card_Issue_Date:             TTime_Real;             // TimeReal       ...  4 byte por defecto (00..00) ver apd. 2.110 TimeReal
        card_Validity_Begin:         TTime_Real;             // TimeReal       ...  4 byte por defecto (00..00) ver apd. 2.110 TimeReal
        card_Expiry_Date:            TTime_Real;
Si el Card_Number es el correcto (porque no hay duda, se ve en el Memo1 y también en el GroupBox.Caption), entonces el resto de datos deben ser correctos.

Si hubiese un byte de desplazamiento erróneo (porque estuviese leyendo mal del archivo), ese fallo se propagaría, y faltaría o sobraría una letra a ese Card_Number, y lo mismo con el card_Issuing_Authority_Name.

Pero no, los datos son correctos, aparece la "DGT DE MURCIA" y el nombre y apellidos del conductor perfectamente, sin falta ni sobra de letras.

Llegados a este punto, diría que falla la función Devolver_Fecha, es decir, la traducción que hace de ese número no es la correcta.

Lo más fácil es decir que el pdf tiene un error, o que incluso se ha modificado posteriormente las normas, y que ese pdf no lo contempla.

Yo aconsejo dejar eso de lado y tirar hacia delante, posiblemente al final se encuentre como resolver el inconveniente. Socger, ¡¡ ánimo !!

Por curiosidad, conté los días entre 01/01/1970 y la fecha de hoy, me daba 13.677,72. La primera fecha da sobre unos
Cita:
- La tarjeta se expidió hace 24.895,27 días (esto daba el año 2038)
- Fecha primer día de validez: 172 días
- Fecha termina la validez: 41 dias
Queda claro que la primera fecha no es desde 1970, tampoco desde 1900.
Queda claro que la segunda y tercera fecha, está en base a esa fecha que desconocemos.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 13-06-2007 a las 18:21:06.
Responder Con Cita
  #4  
Antiguo 13-06-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Sí, puede ser que la documentación tenga una errata en la fecha o que la hayan cambiado.
Sería conveniente localizar el organismo encargado de emitir esas normas y conseguir la última que tengan actualizada.
Responder Con Cita
  #5  
Antiguo 14-06-2007
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.700
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Por lo visto el dato está bien, he encontrado información en sitios oficiales y parece correcto.
Entonces, me pregunto, ¿puede ser que lo que esté mal sea el fichero que se está importando?, ¿de dónde han salido esos ficheritos de pruebas?
Responder Con Cita
  #6  
Antiguo 15-06-2007
socger socger is offline
Miembro
 
Registrado: jun 2004
Posts: 89
Poder: 23
socger Va por buen camino
Los ficheros son recogidos de tarjetas de conductores

Estos ficheros están recogidos de las tarjetas de algunos de los conductores de la empresa de transportes para la que trabajo.

Puedo subir más para que los probeis. Y de momento con todos los que he probado me ha ocurrido lo mismo.

Gracias de todos modos. Seguiré haciendo pruebas, pero os agradecería que me pudieseis hechar un cable. Cualquier idea por la que pueda caminar me podría solucionar este problema.

Saludos.
Responder Con Cita
  #7  
Antiguo 15-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
los conductores que tenemos son:
- diego antonio
- juan jose
- manuel riquelme.

Sería bueno saber de antemano la fecha de expedición de su tarjeta, primer dia de validez y fecha en la que termina la validez (Al menos algunas de ellas) a ver si calculando los segundos de esas fechas, se puede obtener el número que viene en el fichero).

Este fin de semana salgo de viaje, así que no podré echarle un vistazo.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 02-09-2007
jojobkx_1 jojobkx_1 is offline
Registrado
 
Registrado: sep 2007
Posts: 2
Poder: 0
jojobkx_1 Va por buen camino
sobre fechas

con los problemas de fechas yo de duzco que:
tienes posibilidad de ver las tarjetas fisicamente No?
pues puedes saber la fecha de validez.
si no esta impreso en la tarjeta, puedes saber el plazo sabiendo cuando
se izo la tarjeta. No?
apartir de ahi teniendo lo que obtienes en el fichero tgd se podria saber
desde cuando se empieza.(pero provando varias tarjetas).

No se si te servira o sera una tonteria.
sobre los ficheros tgd es muy interesante(quien no tiene un amigo camionero y que quiera ver el fichero. ya que es suyo!sin pagar una pasta)
si puedo le echare un ojo al codigo tuyo.
saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Huellas Digitales Viky Varios 6 17-01-2007 18:38:18
Atacar el ToolBarWindows32 mangi API de Windows 0 28-04-2006 13:07:58
Atacar cartografías tipo Map Point o NafTec socger Varios 3 23-12-2005 10:04:09
¿Con .Net que bases de datos puedo atacar y como??? burasu .NET 4 17-09-2005 12:16:05
Atacar tablas Paradox con ADO. Chojj Conexión con bases de datos 2 02-07-2003 20:50:12


La franja horaria es GMT +2. Ahora son las 01:11:36.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi