![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
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.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal Última edición por Casimiro Noteví fecha: 13-06-2007 a las 00:54:42. |
|
#2
|
||||
|
||||
|
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 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:
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. |
|
#3
|
||||
|
||||
|
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.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
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?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#5
|
|||
|
|||
|
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. |
|
#6
|
||||
|
||||
|
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. |
|
#7
|
||||
|
||||
|
También sería útil ver los resultados de esos ficheros con algún otro programa que los lea, a ver qué datos saca.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#8
|
|||
|
|||
|
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. |
|
#9
|
|||
|
|||
|
Hola. Yo también estoy intentando descrifrar este tipo de archivos. El problema con el que me encuentro es que el único documento que he encontrado explica la estructura de datos de la "tarjeta de conductor" es el pdf ese del BOE. En la página 119 es donde se encuentra dicha estructura, pero no tiene "nada" que ver con la estructura del fichero TGD que tengo y los que he bajado de este post. Yo he podido leer el "EF Identification" (titular de la tarjeta, todo tipo de fechas, etc), pero por ingeniería inversa y no leyendo el documento. Según el PDF el "cardIssuingMemberState" debería estar en la posición 0x01B0, pero tanto en los archivo que tengo como en los que se han publicado en este post, esa información está en el 0x00C4. ¿Qué ha pasado con los certificados que deberían estar antes?.
Si se empieza desde el principio, el embedderIcAssemblerId debería estar en la posición 0x0012, pero anda sobre la posición 0x0017 (que es donde pone EFNMT, que deduzco que será la fábrica nacional de moneda y timbre). ¿Alguien sabe por qué no coincide la posición indicada en el documento con la que viene en el archivo?. Yo he pensado que quizás la información del PDF es la información almacenada en la tarjeta, y parte de esa información se pierde al pasarlo a un archivo, como por ejemplo los certificados digitales. Muchas gracias de antemano! Un Saludo. PE: Bueno, he "descubierto" que los diferentes campos pueden estar desordenados y sólo es cosa de mirar el FID, jeje... Las prisas! Última edición por javigh fecha: 08-10-2007 a las 13:47:49. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
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 |
|