Télécharger lireproc1.dgibi

Retour à la liste

Numérotation des lignes :

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

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