Télécharger lireproc1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : lireproc1.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. ************************************************************************
  5. *
  6. * CAS-TEST DE LA DIRECTIVE : LIRE 'PROC'
  7. *
  8. ************************************************************************
  9. *
  10. * TESTS POUR LE FICHIER "MAPROC1"
  11. DEBP VERIF1 TAB1*'TABLE' ;
  12. SI ((NEG TAB1.'A' 1) OU
  13. (NEG TAB1.'B' 'JE SUIS DANS MAPROC1') OU
  14. (NEG (MAXI TAB1.'C') 7)) ;
  15. ERRE 5 ;
  16. FINS ;
  17. FINP ;
  18. *
  19. ************************************************************************
  20. * repertoire des fichiers "divers"
  21. DIVERS = VENV 'CASTEM_DIVERS';
  22. *
  23. *
  24. * TEST 1 = IMPORTATION DES LIGNES CONTENUES DANS LE FICHIER "MAPROC1"
  25. *
  26. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC1') 'FOO' ;
  27. SI (NEG (TYPE FOO) 'PROCEDUR') ;
  28. ERRE 5 ;
  29. FINS ;
  30. OPTI 'LOCA' VRAI ;
  31. FOO ;
  32. OPTI 'LOCA' FAUX ;
  33. LIST &FOO ;
  34. VERIF1 &FOO ;
  35. *
  36. * TEST 2 = TEST 1 SAUF QUE LE NOM DE LA PROCEDURE EST DEJA AFFECTE
  37. *
  38. BOU = 5 ;
  39. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC1') 'BOU' ;
  40. SI (NEG (TYPE BOU) 'PROCEDUR') ;
  41. ERRE 5 ;
  42. FINS ;
  43. OPTI 'LOCA' VRAI ;
  44. BOU ;
  45. OPTI 'LOCA' FAUX ;
  46. VERIF1 &BOU ;
  47. *
  48. * TEST 3 = TEST 2 SAUF QUE LIRE 'PROC' EST APPELE DEPUIS UNE PROCEDURE
  49. *
  50. KAI = 5 ;
  51. DEBP BLOB ;
  52. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC1') 'KAI' ;
  53. SI (NEG (TYPE KAI) 'PROCEDUR') ;
  54. ERRE 5 ;
  55. FINS ;
  56. OPTI 'LOCA' VRAI ;
  57. KAI ;
  58. OPTI 'LOCA' FAUX ;
  59. FINP &KAI ;
  60. TAB1 = BLOB ;
  61. VERIF1 TAB1 ;
  62. * on verifie aussi que KAI etait bien un objet local dans BLOB
  63. SI (NEG KAI 5) ;
  64. ERRE 5 ;
  65. FINS ;
  66. *
  67. ************************************************************************
  68. *
  69. * TESTS POUR LE FICHIER "MAPROC2"
  70. ENTI1 = 5 ;
  71. ENTI2 = -9 ;
  72. SOMM1 = -4 ;
  73. PROD1 = -45 ;
  74. FACT1 = 120 ;
  75. *
  76. ************************************************************************
  77. *
  78. * TEST 4 = LECTURE DE TOUTES LES PROCEDURES DE "MAPROC2"
  79. *
  80. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC2') ;
  81. SI ((NEG (TYPE SOMME ) 'PROCEDUR') OU
  82. (NEG (TYPE PRODUIT) 'PROCEDUR') OU
  83. (NEG (TYPE FACTO ) 'PROCEDUR')) ;
  84. ERRE 5 ;
  85. FINS ;
  86. SI ((NEG (SOMME ENTI1 ENTI2) SOMM1) OU
  87. (NEG (PRODUIT ENTI1 ENTI2) PROD1) OU
  88. (NEG (FACTO ENTI1 ) FACT1)) ;
  89. ERRE 5 ;
  90. FINS ;
  91. ************************************************************************
  92. *
  93. * TEST 5 = TEST 4 SAUF QUE LES NOMS DES PROCEDURES SONT DEJA AFFECTES
  94. *
  95. SOMME = 0 ;
  96. PRODUIT = 0 ;
  97. FACTO = 0 ;
  98. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC2') ;
  99. SI ((NEG (TYPE SOMME ) 'PROCEDUR') OU
  100. (NEG (TYPE PRODUIT) 'PROCEDUR') OU
  101. (NEG (TYPE FACTO ) 'PROCEDUR')) ;
  102. ERRE 5 ;
  103. FINS ;
  104. SI ((NEG (SOMME ENTI1 ENTI2) SOMM1) OU
  105. (NEG (PRODUIT ENTI1 ENTI2) PROD1) OU
  106. (NEG (FACTO ENTI1 ) FACT1)) ;
  107. ERRE 5 ;
  108. FINS ;
  109. ************************************************************************
  110. *
  111. * TEST 6 = TEST 5 SAUF QUE LIRE 'PROC' EST APPELE DEPUIS UNE PROCEDURE
  112. *
  113. SOMME = 0 ;
  114. PRODUIT = 0 ;
  115. FACTO = 0 ;
  116. DEBP BLOB ;
  117. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC2') ;
  118. SI ((NEG (TYPE SOMME ) 'PROCEDUR') OU
  119. (NEG (TYPE PRODUIT) 'PROCEDUR') OU
  120. (NEG (TYPE FACTO ) 'PROCEDUR')) ;
  121. ERRE 5 ;
  122. FINS ;
  123. RES1 = SOMME ENTI1 ENTI2 ;
  124. RES2 = PRODUIT ENTI1 ENTI2 ;
  125. RES3 = FACTO ENTI1 ;
  126. FINP RES1 RES2 RES3 ;
  127. I1 I2 I3 = BLOB ;
  128. SI ((NEG I1 SOMM1) OU
  129. (NEG I2 PROD1) OU
  130. (NEG I3 FACT1)) ;
  131. ERRE 5 ;
  132. FINS ;
  133. ************************************************************************
  134. *
  135. * TEST 7 = TEST 5 SAUF QUE L'ON IMPORTE UNE SEULE PROCEDURE
  136. *
  137. SOMME = 0 ;
  138. PRODUIT = 0 ;
  139. FACTO = 0 ;
  140. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC2') 'PRODUIT' ;
  141. SI ((NEG (TYPE SOMME ) 'ENTIER' ) OU
  142. (NEG (TYPE PRODUIT) 'PROCEDUR') OU
  143. (NEG (TYPE FACTO ) 'ENTIER' )) ;
  144. ERRE 5 ;
  145. FINS ;
  146. SI ((NEG SOMME 0) OU
  147. (NEG (PRODUIT ENTI1 ENTI2) PROD1) OU
  148. (NEG FACTO 0)) ;
  149. ERRE 5 ;
  150. FINS ;
  151. ************************************************************************
  152. *
  153. * TESTS POUR LE FICHIER "MAPROC3"
  154. *
  155. ************************************************************************
  156. *
  157. * ON ECRASE UNE PROCEDURE DE BASE DE CAST3M (ICI PASAPAS)
  158. LIRE 'PROC' ('CHAINE' DIVERS '/MAPROC3') ;
  159. VAL1 = PASAPAS ;
  160. SI (NEG VAL1 123) ;
  161. ERRE 5 ;
  162. FINS ;
  163.  
  164.  
  165. FIN ;
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales