home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 21 / CD_ASCQ_21_040595.iso / dos / fr / mcshow10.exe / DOC / MC-SHOW / TXT / MCDOCL04.TXT < prev    next >
Text File  |  1994-09-11  |  6KB  |  202 lines

  1.         Les branchements se révèlent très utiles pour pouvoir se "brancher"
  2.     sur différentes parties du fichier source MCT suivant les réactions de
  3.     l'utilisateur, dans une présentation ou une application interactive,
  4.     ou la structure du programme ou le contenu des variables.
  5.  
  6.         Pour une meilleure compréhension de ce paragraphe, assurez-vous
  7.     d'avoir consulté les paragraphes "Instruction principale", "Variables"
  8.     et "Boucles" de ce chapitre.
  9.  
  10.         Les branchements sous MC-SHOW utilisent quatre instructions très
  11.     simples :
  12.  
  13.     :LABEL          :GOTO          :GOSUB          :RETURN
  14.  
  15.  
  16.     L'INSTRUCTION :LABEL
  17.  
  18.         Elle sert à désigner un endroit précis du programme. C'est une
  19.     étiquette, un index, un label, bref un truc du genre.
  20.  
  21.         C'est aux labels que vont se connecter les instructions de
  22.     branchements :GOTO et :GOSUB puisque le langage de MC-SHOW ne contient
  23.     pas de numéros de lignes...
  24.  
  25.         La longueur maximale d'un label est, comme tout paramètre de MC-SHOW,
  26.     de 80 caractères maximum.
  27.  
  28.  
  29.     L'INSTRUCTION :GOTO
  30.  
  31.         Elle permet donc de se connecter à un endroit quelconque du
  32.     programme identifiépar un label.
  33.  
  34.         Exemple :
  35.  
  36.         :CLSTEXT
  37.         :GOTOXY 1,1
  38.         :PRINT Affichage 1
  39.         :GOTO aff2
  40.  
  41.         :LABEL aff3
  42.         :GOTOXY 1,3
  43.         :PRINT Affichage 3
  44.         :GOTO FIN
  45.  
  46.         :LABEL aff2
  47.         :GOTOXY 1,2
  48.         :PRINT Affichage 2
  49.         :GOTO aff3
  50.  
  51.         :LABEL fin
  52.         :GOTOXY 1,5
  53.         :PRINT C'est fini, appuyez sur une touche...
  54.         :TOUCHKEY
  55.         :END
  56.  
  57.         Ce programme, d'une rare complexité rare qu'on voit pas souvent,
  58.     affiche à l'écran :
  59.  
  60.         Affichage 1
  61.         Affichage 2
  62.         Affichage 3
  63.  
  64.         C'est fini, appuyez sur une touche...
  65.  
  66.         Après l'affichage de "Affichage 1", le branchement se fait sur
  67.     le label "aff2", puis sur "aff3" puis sur "fin".
  68.  
  69.         Le chapitre "Trucs et astuces" contient quelques exemples utilisant
  70.     des :LABEL et des :GOTO. Si vous voulez y accéder maintenant, cliquer ici.
  71.  
  72.         Ces instructions sont très utiles pour des saisies, des qcm ou des
  73.     branchements suivant des états de variables.
  74.  
  75.         Exemple :
  76.  
  77.         ...
  78.         :EVAL i1=i2
  79.          :GOTO l1
  80.         :GOTO l2
  81.         ...
  82.  
  83.         Si i1=i2, on se branche sur l1 sinon sur l2.
  84.  
  85.         Si vous voulez contrôler des saisies, ces deux instructions peuvent
  86.     aussi rendre service, comme le montre cet exemple :
  87.  
  88.         :AFFECT i2,1
  89.         :AFFECT i3,2
  90.  
  91.         :LABEL l1
  92.         :CLSTEXT
  93.         :GOTOXY 1,1
  94.         :PRINT Tapez 1 ou 2 :
  95.         :GOTOXY 16,1
  96.         :READECHO i1
  97.         ' Lecture d'une valeur numérique entière avec affichage à l'écran
  98.         :EVAL i1=i2
  99.          :GOTO suite
  100.         :EVAL i1=i3
  101.          :GOTO suite
  102.         :BEEP
  103.         ' Fait entendre un beep des plus mélodieux
  104.         :GOTO l1
  105.  
  106.         :LABEL suite
  107.         :GOTOXY 1,3
  108.  
  109.  
  110.         Tant que l'utilisateur n'appuie pas sur 1 ou 2, le programme
  111.     boucle...
  112.  
  113.  
  114.         LES INSTRUCTIONS :GOSUB et:RETURN
  115.  
  116.         Ces instructions sont aussi des instructions de branchement mais
  117.     sont plus puissantes que :GOTO.
  118.  
  119.         Une instruction :GOTO perd la ligne d'où l'on fait le branchement,
  120.     les instructions :GOSUB et :RETURN permettent de revenir à la ligne
  121.     de branchement une fois une tâche accomplie.
  122.  
  123.         Ceci est très pratique lorsque l'on veut accomplir plusieurs fois la
  124.     même fonction, cela évite de l'écrire chaque fois que l'on en a besoin.
  125.  
  126.         Cela permet en outre de fabriquer des macros appelables par un
  127.     simple :GOSUB. 
  128.         
  129.         Exemple :
  130.  
  131.         :CLSTEXT
  132.  
  133.         :GOTOXY 1,1
  134.         :PRINT Affichage 1...
  135.         :GOSUB strike_key
  136.         :GOTOXY 1,1
  137.         :PRINT Affichage 2...
  138.         :GOSUB strike_key
  139.         :GOTOXY 1,1
  140.         :PRINT Affichage 3...
  141.         :GOTO fin
  142.  
  143.         :LABEL strike_key
  144.         :GOTOXY 1,25
  145.         :PRINT Appuyez sur une touche...
  146.         :TOUCHKEY
  147.         :CLSTEXT
  148.         :RETURN
  149.  
  150.         :LABEL fin
  151.         :GOTOXY 1,25
  152.         :PRINT La récré est terminée, appuyez sur une touche...
  153.         :TOUCHKEY
  154.         :END
  155.  
  156.         Si vous désirez mettre vos sous-programmes en fin de fichier, rien
  157.     ne vous interdit d'écrire :
  158.  
  159.         :CLSTEXT
  160.  
  161.         :GOTOXY 1,1
  162.         :PRINT Affichage 1...
  163.         :GOSUB strike_key
  164.         :GOTOXY 1,1
  165.         :PRINT Affichage 2...
  166.         :GOSUB strike_key
  167.         :GOTOXY 1,1
  168.         :PRINT Affichage 3...
  169.         :GOTOXY 1,25
  170.         :PRINT La récré est terminée, appuyez sur une touche...
  171.         :TOUCHKEY
  172.         :END
  173.  
  174.         :LABEL strike_key
  175.         :GOTOXY 1,25
  176.         :PRINT Appuyez sur une touche...
  177.         :TOUCHKEY
  178.         :CLSTEXT
  179.         :RETURN
  180.  
  181.         De plus, tout comme les boucles, MC-SHOW autorise dix :GOSUB :RETURN
  182.     imbriquées. Autrement dit, un sous programme peut appeler un autre sous-
  183.     progamme...
  184.  
  185.         Attention toutefois !
  186.  
  187.         Ce n'est pas parce que vous disposez d'outils, se présentant sous la
  188.     forme d'instructions, de variables et de structures, qu'il faut les
  189.     utiliser à tort et à travers. En effet, pensez à bien respecter le cadre
  190.     d'utilisation de ces outils et à garder une certaine logique dans vos
  191.     programmes.
  192.  
  193.         Je citerai en exemple ce que l'on appelle, dans le jargon des pros,
  194.     la "référence croisée". En des termes plus conviviaux le fait que le
  195.     sous programme 1 apelle le sous programme 2 qui lui appelle le sous
  196.     programme 1 ! Ce qui conduit à imbriquer appel sur appel et ce qui
  197.     plante le système.
  198.  
  199.         Sauf que MC-SHOW arrête l'application et vous avertit que le nombre
  200.     d'imbrications de :GOSUB :RETURN est trop important...
  201.  
  202.