Ver Mensaje Individual
  #4  
Antiguo 04-07-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 22
andres1569 Va por buen camino
Hola:

Aclarar que el tipo Int64 es un entero de 8 bytes (64 bits) y el DWord es un entero de 4 Bytes (32 Bits). Si la función que te devuelve la fecha realmente devuelve un entero de 8 bytes, deberás cambiar ciartas partes del código.

En cuanto a la forma de almacenar ese valor en el array de bytes, depende de la forma en que se quiera leer; de la manera en que te dije, almacenas byte a byte la secuencia de 4 bytes que componen un DWord, claro que leídos por separado no equivalen al número que tenías al principio. Para recuperar el valor a partir de ea matriz de bytes, habría que invertir el proceso:

L := Aux[4];
L := (L shl 8) + Aux[5];
L := (L shl 8) + Aux[6];
L := (L shl 8) + Aux[7];

Si ahora consultas el valor de L, verás que equivale al del principio.

Todo depende de cómo se quiera codificar el valor, como dijiste que querías utilizar cuatro bytes para ese valor, lo interpreté así, byte a byte. Cuando tú lees ese valor, desde la ventana de Watches, por ejemplo, te aparecen los bytes por separado.

Por cierto a mi me salen los valores 63 - 4 - 124 - 247.

No sé si me he explicado bien.
__________________
Guía de Estilo
Responder Con Cita