J'aimerais pouvoir afficher dans un programme Delphi 2009, la date et l'heure que le programme a été compilée. p>
Y a-t-il un moyen simple de faire cela? P>
4 Réponses :
Un choix évident pourrait être d'utiliser la dernière date modifiée pour l'EXE, mais cela peut être changé. P>
Vous pouvez inclure la compilation horodatage dans les informations de version et lire cette ressource. Je semble me souvenir d'un complément IDE qui fait cela pour vous, mais pas lequel. P>
ou vous pouvez lire le TimeStamp de l'en-tête PE . P>
J'utilise aussi l'horodatage PE en-tête. Le problème avec c'était (au moins avec des versions plus anciennes) que Delphi ne l'a pas mise à jour correctement. Je ne sais pas si cela a été corrigé à Delphi 2010. J'ai écrit un plugin IDE pour mettre à jour automatiquement l'en-tête PE après chaque compilation. Vous pouvez l'obtenir à partir de Codecentral: 200823 Update PE Header TimeDaestamp Valeur après la compilation . P>
Au moins depuis Delphi 2007, l'horodatage de liaison dans l'en-tête PE doit être écrit. (Dans les anciennes versions comme Delphi 5, l'horodatage dans l'en-tête PE était quelque chose en 1992 et le temps réel ne pouvait être trouvé que dans les ressources) p>
Si vous utilisez déjà le JCL, essayez PereadlinkerTimeStamp de JCLPeImage.pas Vue SVN < / p>
image_file_header.dateTimeStamp = 0x2a425e19 Code> (6/19/1992 10:22:17 PM) Je ne sais pas pourquoi, c'est juste ce que c'est.
J'utilise un simple add-in IDE que j'ai écrit pour parcourir tous les fichiers source du projet et écrire un fichier .Inc contenant la dernière des heures de modification. Ceci est fait automatiquement comme une action "avant de compiler". Je trouve cela plus utile qu'une simple date de «dernière compilation», car elle reflète plus précisément la dernière fois que le projet a été modifié. Et puisque tous les projets de nos applications sont compilés dans FinallyBuilder pour chaque construction, une «dernière compilation» entraînerait une série d'horodatages similaires, ne signifiant pas beaucoup d'intérêt. Le seul inconvénient est que ce mécanisme n'enregistre pas de modifications de notre bibliothèque de fonctions de l'utilité qui ne font partie d'aucun projet; Mais ils ne changent pas très souvent. Si vous avez vraiment besoin de la date de compilation, cependant, un complément IDE similaire pourrait le faire à la place. P>
Dupliquer: Stackoverflow.com/questions/8437300
@Kromster - J'ai posé cette question en 2009. L'autre question a été posée en 2011. Par conséquent, l'autre question est une duplication de la mine.
Je crois aussi, mais l'autre question a beaucoup de meilleures réponses. J'ai donc posté le commentaire pour diriger les téléspectateurs de cette question à ces réponses. Je n'ai pas jeté une proximité.