Ver Mensaje Individual
  #21  
Antiguo 13-06-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 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