Insertion au lancement du programme de la date de compil.

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Insertion au lancement du programme de la date de compil.

Message par GG »

Bonjour à tous,

Je souhaiterais qu'à chaque compilation de mon programme s'insère au lancement de celui ci la date et heure de compilation. Pas de problème pour afficher la date/heure du moment, mais pas celle de la compilation. Savez vous comment faire ? Je ne trouve pour l'instant pas de solution même avec les directives de compilation CompilerIf.

D'avance, merci à tous pour vos réponses et aides sur le sujet.
PureBasic 6.03 - Windows 11 22H2 (64 bits)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

C'est pas bien compiqué si tu as jaPBe, il suffit de mettre dans:
Projet-Option du projet-Onglet Version
une des variables comme %date%
Par contre, il n'y a pas de variable pour l'heure (fait une demande à l'auteur), sinon il te reste la possibilité de l'écrire à chaque compilation.
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

Tout à fait, mais je n'arrive pas à utiliser cette variable, que ce soit dans mon source (il ne comprend pas cette variable à la compilation) ou dans l'onglet que tu m'as cité. Je vois bien que dans l'onglet variable jaPBe la liste des différentes variables que l'on peut attribuer.
Je regarde...
Merci pour l'info.
PureBasic 6.03 - Windows 11 22H2 (64 bits)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Il n'y a pas de problème pourtant.

Je ne vois pas de quoi tu parles quand tu dis vouloir utiliser cette variable dans le code source; qu'est-ce que tu fais exactement?
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

En gros, j'ai bien compris la présence de la variable jaPBe %date-%, mais je pensais l'inclure avec une directive de compilation.
Bref, je n'arrive pas à l'utiliser.
PureBasic 6.03 - Windows 11 22H2 (64 bits)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Quel rapport y a t'il entre cete variable et le code source 8O , je ne comprend pas ton raisonnement.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Mais on ne peut pas faire ce qu'il veut avec %DaTEM... lui ce qu'il voudrait, c affichier par exemple une boîte de dialogue au démarrage de son programme qui afficherait "Programme compilé le (date de compilation) à (heure de compilation)."
Enfin c ce que j'ai compris.
Mais je ne vois pas comment faire.
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

Mon hypothèse initiale était :

Si mon exécutable doit afficher la date de compilation, il faut que je lui indique à un moment donné dans mon source une variable récupérant le %date% de la variable jaPBe. Mais cette variable %date% est inconnue (à ma connaissance) du compilateur Purebasic. Du coup, je ne vois pas comment l'intégrer pour que mon programme la prenne en compte.

Ce que je voudrais, c'est que mon programme (qui est en mode console), à son lancement, m'affiche (je pensais via un printN) la date de compilation éventuellement récupérée avec une directive de compilation incluant la variable %date%.

Ex :

Mon source :

Code : Tout sélectionner

PrintN(" Test - Compilé le ")
Je compile aujourd'hui
A l'exécution (quelque soit la date) , je souhaiterais avoir :
Test - Compilé le 20.01.2005
Si je réutilise le même exécutable dans 1 mois, je souhaiterais qu'il m'affiche la même chose.
Par contre, si demain (21) je le recompile, et que j'utilise l'éxécutable nouvellement généré après demain (22), il doit m'afficher :
Test - Compilé le 21.01.2005
Je ne sais pas si j'arrive bien à m'exprimer... :D
PureBasic 6.03 - Windows 11 22H2 (64 bits)
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

La seule solution envisageable (non encore testée) selon moi serait d'avoir un autre programme résident (ou une macro) qui avant de compiler le source en question, me génèrerait un .pb qui serait appelé dans mon source, et qui incluerait une définition d'une variable contenant la date du jour, et qui serait appelée dans mon PrintN de mon source.
Un peu agricole comme méthode, mais bon... :lol:
PureBasic 6.03 - Windows 11 22H2 (64 bits)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Ok, j'ai bien compris ce que tu cherches à faire.

Ton idée me parait excellente :D , sinon on peut aussi modifier l'exe, le soldat à poster un code là dessus mais ton idée reste la meilleur à mon sens.
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

Je confirme, ça marche.
Pas très sexy comme méthode.
Ca pourrait être pas mal, pour éviter ma méthode qui nécessite de lancer un exe avant compilation du source souhaité, de pouvoir effectuer cela via des directives de compilations.
PureBasic 6.03 - Windows 11 22H2 (64 bits)
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Message par nico »

Oui ça marche mais c'est pas très pratique, en plus il faut lancer deux fois de suite le source avant de compiler.

Code : Tout sélectionner

; on fait les essais avec le debugger en mettant CompilerIf 1 
;(au moins deux fois car Pb inclut le fichier avant sa modification)
; puis à la compilation on met CompilerIf 0

CompilerIf 1
If CreateFile(0,"c:\date.pb")
  Debug 4
    date$= FormatDate("A=%yyyy, M= %mm, J=%dd", Date())  
    heure$= FormatDate("%hh:%ii:%ss", Date()) 
    WriteStringN("Date$="+Chr(34)+date$+Chr(34))
    WriteStringN("heure$="+Chr(34)+heure$+Chr(34))
    CloseFile(0)
  EndIf
CompilerEndIf 
 
XIncludeFile "c:\date.pb"

MessageRequester("Info", date$ +"   "+ heure$)
Si Fred pouvait nous faire quelque chose pour que les directives de compilation accepte les variables et les fonctions.
gansta93
Messages : 1448
Inscription : jeu. 26/févr./2004 11:17
Localisation : Le Village
Contact :

Message par gansta93 »

Cool ce code. :-D
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Message par GG »

Pour ma part, j'ai séparé les 2 codes.
PureBasic 6.03 - Windows 11 22H2 (64 bits)
Le Soldat Inconnu
Messages : 4312
Inscription : mer. 28/janv./2004 20:58
Localisation : Clermont ferrand OU Olsztyn
Contact :

Message par Le Soldat Inconnu »

on peut aussi faire un outil qui lance la compilation après avoir inséré la date dans le code.
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]
Répondre