home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 3 / Amiga Tools 3.iso / rexx / version.raz < prev    next >
Encoding:
Text File  |  1994-11-15  |  2.0 KB  |  50 lines

  1. /** $VER: Version.raz 1.0 (14.11.94)
  2.  **
  3.  ** Incrémente le compteur de révision au format Système. Ce format
  4.  ** est composé de quatre parties séparées par un espace :
  5.  **             $VER nom numéros date
  6.  **             Exemple : $VER: myapp 37.1 (20.3.91)
  7.  ** Dans les fichiers binaires cette chaîne doit être entourée par
  8.  ** un caractère de code $00.
  9.  **
  10.  ** nom : il ne doit pas comporter d'espaces, sinon les programmes
  11.  **     comme C:Version ou Installer ne peuvent pas trouver le bon
  12.  **     numéro de version qui suit, donc les scripts foirent.
  13.  ** numéros : numéro de version et numéro de révision séparés par
  14.  **     un point
  15.  ** date : elle doit être composée ainsi : (jj.mm.aa) afin que
  16.  **     la commande C:Version puisse l'interpréter et la traduire
  17.  **     dans le format du pays de l'utilisateur (localisation).
  18.  **     jj, mm ou aa ne doivent pas avoir de 0 de rempissage : si
  19.  **     ils n'ont qu'un chiffre il faut mettre un seul chiffre.
  20.  **/
  21.  
  22. OPTIONS RESULTS
  23.  
  24. Search RESET FULL "$VER:"; IF (RC >= 5) THEN EXIT
  25. GetPos; PARSE VAR RESULT verline vercol .
  26.  
  27. GetLine LINE verline STARTCOL vercol; str = RESULT
  28. PARSE VAR str ver ' ' name ' ' version '.' revision ' (' datever ')' .
  29.  
  30. IF WORDS(ver)~=1 | WORDS(name)~=1 | WORDS(version)~=1 | WORDS(revision)~=1 | WORDS(datever)~=1 THEN DO
  31.     ReqMulti "Erreur" TEXT "La chaîne de version n'est pas dans le format standard, et poum"
  32.     EXIT
  33. END
  34. IF DATATYPE(version)~="NUM" | DATATYPE(revision)~="NUM" THEN DO
  35.     ReqMulti "Erreur" TEXT "La chaîne de version n'est pas dans le format standard, et pim"
  36.     EXIT
  37. END
  38.  
  39. verlastcol = vercol + LENGTH(ver) + LENGTH(name) + LENGTH(version) + LENGTH(revision) + LENGTH(datever) + 5
  40. verlen = verlastcol - vercol + 1
  41.  
  42. today = DATE('E'); PARSE VAR today jj '/' mm '/' aa
  43. jj = STRIP(jj,'L','0'); mm = STRIP(mm,'L','0'); aa = STRIP(aa,'L','0')
  44.  
  45. revision = revision + 1
  46. IF revision > 99 THEN DO; revision = 0; version = version + 1; END
  47.  
  48. Del verlen
  49. Text2Win TEXT ver name version"."revision "("jj"."mm"."aa")"
  50.