Pregunta ¿Cómo puedo obtener la fecha y hora de compilación en Delphi?


Me gustaría poder mostrar en un programa Delphi 2009, la fecha y la hora en que se compiló el programa.

¿Hay una manera simple de hacer esto?


5
2017-11-23 06:35


origen


Respuestas:


Al menos desde Delphi 2007, debe escribirse la marca de tiempo del enlazador en el encabezado PE. (En versiones anteriores como Delphi 5, la marca de tiempo en el encabezado PE era algo en 1992 y la marca de tiempo real solo se podía encontrar en los recursos)

Si ya usa el JCL, intente PeReadLinkerTimeStamp desde JclPEImage.pas Vista SVN


10
2017-11-23 07:38



Una opción obvia podría ser utilizar la última fecha de modificación para el exe, pero esto se puede cambiar.

Puede incluir la marca de tiempo de compilación en la información de la versión y leer ese recurso. Me parece recordar un complemento IDE que hace esto por ti, pero no cuál.

O podrías leer el marca de tiempo desde el encabezado de PE.


5
2017-11-23 06:52



También utilizo la marca de tiempo del encabezado PE. El problema fue (al menos con versiones anteriores) que Delphi no lo actualizó correctamente. No estoy seguro de si esto se ha solucionado en Delphi 2010. Escribí un complemento IDE para actualizar el encabezado PE automáticamente después de cada compilación. Puedes obtenerlo desde CodeCentral: 19823 Actualiza el valor de TimeDateStamp del encabezado de PE después de la compilación.


4
2017-11-23 07:24



Uso un complemento IDE simple que escribí para recorrer todos los archivos fuente en el proyecto y escribir un archivo .INC que contenga los últimos tiempos de modificación. Esto se hace automáticamente como una acción 'antes de compilar'. Me parece más útil que una simple fecha de 'última compilación' porque refleja con mayor precisión la última vez que se cambió el proyecto. Y dado que todos los proyectos en nuestras aplicaciones se compilan en FinalBuilder para cada compilación, un tiempo de "última compilación" daría lugar a un montón de marcas de tiempo similares, lo que significaría poco interés. La única desventaja es que este mecanismo no registra cambios en nuestra biblioteca de funciones de utilidad que no forman parte de ningún proyecto; pero no cambian muy a menudo. Sin embargo, si realmente necesita solo la fecha de compilación, un complemento IDE similar podría hacer esto en su lugar.


2
2017-11-23 09:57