home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 10: Diskmags / nf_archive_10.iso / MAGS / DNTPAPER / DNT_01.MSA / PROTOCOL.GEM / PROT_DOC / M_EMPLOI.TXT < prev    next >
Text File  |  1987-04-22  |  8KB  |  165 lines

  1.  
  2.                DESCRIPTIF DES APPLICATIONS EXEMPLES
  3.  
  4.     Sur la disquette se trouvent 3 programmes et  3  accessoires, 
  5. avec   les  sources  en assembleur  et  les  fichiers  ressources 
  6. complets.  Ces applications vont par couples, ACC300 avec PRG300, 
  7. ACC400 avec PRG400 et ACC500 avec PRG500.
  8.  
  9.    Chacun de ces couples est destiné à montrer de façon succincte 
  10. le  fonctionnement  d'une des parties du  protocole.  Nous  avons 
  11. choisit de séparer les 3 séries (300,  400 et 500) afin d'obtenir 
  12. des applications de taille réduite,  faciles à analyser,  le  but 
  13. ici n'étant pas de fournir des programmes performants mais plutôt 
  14. de  permettre une compréhension rapide du principe afin  que  les 
  15. programmeurs puissent rapidement utiliser le protocole sans avoir 
  16. au préalable à décortiquer les sources pendant des mois!
  17.      De  même,  il  n'y  a  pas de  fenêtres  ouvertes  pour  les 
  18. programmes.  Ceci  entraine donc des "trous" dans  l'écran  aprés 
  19. l'apparition des formulaires:  ce n'est pas trés propre mais cela 
  20. nous  a  permis d'obtenir des listings assez court  pour  que  le 
  21. principe du protocole soit plus clair.
  22.  
  23.    Au démarrage,  aprés avoir booté,  les 3 accessoires  sont  en 
  24. place.  Lancez  PRG300 et jetons un coup d'œil sur son  fonction-
  25. nement.
  26.   Ce programme permet de charger un texte et de le visualiser.  2 
  27. textes  sont  proposés:   TEXT1.TXT  et  TEXT2.TXT  Ici,  pas  de 
  28. sélecteur de fichier,  ce n'est pas le but recherché!  Les textes 
  29. doivent se trouver sur le disque A,  le chemin étant fixé dans le 
  30. programme.  Une  fois  un  des textes  chargé,  il  apparait  sur 
  31. l'écran.  Il est alors possible de l'envoyer par le tube.  PRG300 
  32. envoi  alors aux autres applications présentes en  mémoire  (donc 
  33. ACC300,  ACC400  et ACC500) un message 300.  Seul  ACC300  répond 
  34. qu'il  est  compatible  avec  cette  partie  du  protocole,   ses 
  35. identificateurs  vont  donc  être affichés par  PRG300  dans  son 
  36. formulaire. ACC300 permet 2 choses: coder les textes en réalisant 
  37. une  opération  NOT  sur tous les  octets,  ou  bien  coder  avec 
  38. simplement un NOT réalisé un octet sur 2. Il suffit de choisir le 
  39. descripteur correspondant à votre choix.
  40.    PRG300 prévient alors ACC300 que celui-ci a  été  choisit,  et 
  41. ACC300  vous demande alors sous quel nom doit être sauvegardé  le 
  42. texte  (A:\TEXT1.COD  ou  A:\TEXT2.COD).   Un  fois  votre  choix 
  43. effectué,  le transfert se fait, l'accessoire code et sauve. Ceci 
  44. étant exécuté, vous pouvez quitter PRG300 et en double cliquant à 
  45. partir du bureau sur le fichier .COD vous vous rendrez compte que 
  46. celui-ci est effectivement codé!  Pour recharger un fichier  codé 
  47. dans  PRG300,  il suffit de déclencher ACC300.  Celui-ci va  vous 
  48. demander de choisir le fichier qu'il doit charger,  va le charger 
  49. et  le  décoder.   Ensuite  ACC300  va  réaliser  un  appel   aux 
  50. applications  présentes en mémoire,  avec un  message  300.  Seul 
  51. PRG300  va répondre,  en proposant 2 destinations  possibles:  le 
  52. buffer  du texte1 ou celui du texte2.  Un fois choisit le  buffer 
  53. destination  le transfert du texte se fera d'ACC300 vers  PRG300,  
  54. et ce dernier l'affichera.
  55.   Si vous déclencher ACC300 sans avoir lancé PRG300,  la  demande 
  56. envoyé par l'accessoire ne recevra pas de réponse,  celui-ci vous 
  57. répondra alors qu'il n'a pas trouvé d'application compatible avec 
  58. cette série du protocole.
  59.  
  60.    Voyons maintenant le fonctionnement de  PRG400.  Celui-ci  est 
  61. encore  plus simple que PRG300 mais réalise pourtant ce  qui  est 
  62. considéré  comme  impossible sur ST:  avoir un ACC avec  un  menu 
  63. déroulant.  PRG400 ne fait rien en lui-même:  Il gére  simplement 
  64. son menu déroulant.  Déclenchez ACC400.  Vous voyez alors le menu 
  65. de PRG400 changer.  En effet lors de son déclenchement,  ACC400 a 
  66. demandé  aux applications présentes en mémoire si  elles  étaient 
  67. compatibles avec la norme 400. PRG400 ayant répondu positivement, 
  68. ACC400 lui a envoyé l'adresse de son menu déroulant.  PRG400  l'a 
  69. donc  mis en place devenant ainsi un intermédiaire entre  le  GEM 
  70. (qui   envoi  toujours   les  messages  concernant  le   menu   à  
  71. l'application  principale) et l'accessoire qui est  le  véritable 
  72. propriétaire de ce menu.
  73.  
  74.    C'est donc toujours PRG400 qui reçoit les messages relatifs au 
  75. menu,  mais  maintenant il sait que le menu actuellement  affiché 
  76. n'est  plus le sien,  et à chaque réception de message  menu,  il 
  77. transmet celui-ci à l'application propriétaire de ce menu.  C'est 
  78. donc l'ACC400 qui analyse les messages et réagit en  conséquence, 
  79. et  c'est  à lui qu'incombe également la tâche  de  remettre  les 
  80. entrées du menu en vidéo normal,  de placer des ticks sur celles-
  81. ci etc....
  82.    Lorsque l'on choisit de quitter, c'est bien sur l'ACC que l'on 
  83. quitte. Celui-ci prévient donc PRG400, qui remet alors son propre 
  84. menu et recommence à le gérer normalement.
  85.  
  86.     Passons  maintenant à la dernière application  du  protocole, 
  87. avec la série 500.  Cette série est aussi simple que les  autres, 
  88. mais   c'est   la  structuration  des   programmes   qui   rendra 
  89. certainement son application délicate.
  90.  
  91.    Lancez PRG500.  Un petit coup d'œil dans le menu suffit  à  se 
  92. rendre  compte qu'il s'agit ici d'un mini (vraiment  trés  mini!) 
  93. programme de dessin.
  94.     3  Options sont possibles:  La première permet de  tracer  un 
  95. rond,  la seconde un rectangle et la dernière d'effacer  l'écran. 
  96. Pourtant  PRG500 à d'autres possiblités car ces routines  peuvent 
  97. être  pilotées à distance.  C'est ce qui est réalisé par  ACC500, 
  98. celui-ci  ayant  la  possibilité d'envoyer 3  séries  d'ordres  à 
  99. PRG500.
  100.  
  101.    La première série va ordonner à PRG500 d'effacer son écran, de 
  102. tracer 4 cercles,  d'attendre un peu, puis de tracer 1 rectangle. 
  103. La seconde série va ordonner à PRG500 d'effacer l'écran,  puis de 
  104. tracer  5  rectangle avec un temps  d'attente  entre  chaque.  La 
  105. troisiéme  série va ordonner à PRG500 d'effacer l'écran  puis  de 
  106. faire une succession de cercles et de rectangles
  107.  
  108.    Si vous voulez vous essayer au pilotage à distance de  PRG500, 
  109. voici le descriptif des paramétres à fournir à ces routines:  (la 
  110. taille des paramétres est données par .L pour 4 octets et .W pour 
  111. 2. Référez vous aux documents sur le protocole 500 afin d'établir 
  112. correctement la liste des ordres).
  113.  
  114. -Tracage de cercle
  115.   Routine 0
  116.   .W coord X du centre
  117.   .W coord Y du centre
  118.   .W rayon
  119. Aucun paramétre de retour
  120.  
  121. -Tracage de rectangle
  122.   Routine 1
  123.   .W coord X coin supérieur gauche
  124.   .W coord Y coin supérieur gauche
  125.   .W coord X coin inférieur droit
  126.   .W coord Y coin inférieur droit
  127. Aucun paramétre de retour
  128.  
  129. -Effacement de l'écran
  130.   Routine 2
  131. Aucun paramétre en entrée
  132. Aucun paramétre de retour
  133.  
  134. -Attente
  135.   Routine 3
  136.   .L Temps d'attente en 100éme de seconde
  137. Aucun paramétre de retour
  138.  
  139. -Supression souris
  140.   Routine 4
  141. Aucun paramètre en entrée  Aucun paramètre de retour
  142.  
  143. -Activation souris
  144.   Routine 5
  145. Aucun paramètre en entrée  Aucun paramètre de retour
  146.  
  147. -Définition du motif
  148.   Routine 6   .W Style   .W Index
  149. Aucun paramétre de retour.
  150.  
  151.  
  152.   Voila!  Nous espérons que ces petites applications vous  auront 
  153. permis de mieux comprendre les potentialités du Protocole, et que 
  154. vous  utiliserz  abondement celui-ci.  Il est conseillé  de  bien 
  155. analyser les sources des ACC et des PRG,  et de commencer par des 
  156. petites applications pouvant fonctionner avec ceux-ci.  En  effet 
  157. la  principale difficulté réside dans le fait que le  programmeur 
  158. n'est plus totalement maître de son application, puisque celle-ci 
  159. doit pouvoir communiquer avec d'autres. Il est donc primordial de 
  160. bien  maîtriser le systéme et donc de s'exercer en utilisant  les 
  161. applications   fournies  ici,   avant  de  se  lancer   dans   la 
  162. programmation  d'une usine à gaz dont il sera plus  difficile  de 
  163. tester la compatibilité! 
  164.  
  165.