UpRev -- D O C U M E N T A T I O N -- ~~~~~ Auteurs : S.M. & X.L ~~~~~~~ Distribution : ~~~~~~~~~~~~ -»»» Ce programme est librement copiable pour un particulier. -»»» Les associations du domaine public ou sociétés peuvent le distribuer à condition de me reverser 5FF par disquette. -»»» Cette formule dite du "ShareWare compensé" permet d'obliger l'utilisateur à payer d'office un petit quelque chose à l'auteur ... ========================================= But du jeu : METTRE A JOUR LE NUMERO DE VERSION (VERSION + REVISION) ~~~~~~~~~~ (note : BumpRev un utilitaire du même genre met à jour le numéro de ~~~~ révision uniquement) Vous avez sans doute remarqué qu'à partir du système 2.0 il est possible d'obtenir la version de n'importe quel fichier de la disquette WorkBench en utilisant la commande CLI/SHELL Version. Il est même possible d'obtenir la version d'un fichier NON COMPILE tel que la startup-sequence : ; $VER: startup-sequence 39.9 (9.8.92) Pour ce faire comme vous pouvez le remarquer plus haut il suffit de taper un point-virgule (;) un espace ( ) et le texte VER: pour que la commande version vous affiche le texte qui suit les double points (:) startup-sequence 39.9 Comment pratiquer cela en C ? ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Simple cher Watson il suffit d'inclure à la compilation un header définissant la version : #include "Mon_fichier_header.h" Voici le contenu du dit fichier : #define VERSTAG "$VER: UpRev 1.7 " Le programme principal contient aussi une référence du style : static char *UPREVSTAG = VERSTAG; A la compilation la chaîne VERSTAG sera présente dans le code objet. Version pourra ainsi lire la version de votre programme qui dans ce cas précis sera la 1.6. (Et non la 1.7 car la mise à jour de la version se fait APRES compilation. En effet si il y a erreur à la compilation il ne s'agit pas d'une nouvelle version !) Le contenu du fichier de compilation pourra être le suivant : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .key file dcc .c -o UpRev UpRev.h version Uprev La mise à jour de la version est réalisée après compilation. ATTENTION : En fait UpRev met à jour la REVISION et la VERSION. Par exemple la version 1.x est composée du numéro de version proprement dite , 1 , et du numéro de REVISION qui sera incrémenté de 1 à chaque lancement de UpRev. UpRev utilise une procédure récursive pour mettre à jour le numéro de révision. (si plusieurs chiffres) -»»» Si le fichier contient : #define VERSTAG "$VER: MVK 3.009 " Alors UpRev mettra à jour et le fichier deviendra : #define VERSTAG "$VER: MVK 3.010 " -»»» Mais si le fichier contient : #define VERSTAG "$VER: MVK 3.9 " Alors UpRev mettra à jour et le fichier deviendra : #define VERSTAG "$VER: MVK 4.0 " -»»» Il faut donc définir le nombre de chiffres à l'avance qui formeront le numéro de révision : MVK 3.0 => le numéro de révision pourra varier de 0 à 9 MVK 3.00 => le numéro de révision pourra varier de 0 à 99 MVK 3.000 => le numéro de révision pourra varier de 0 à 999 =========================================