Télécharger inichi1.procedur

Retour à la liste

Numérotation des lignes :

  1. * INICHI1 PROCEDUR AURI 98/12/29 21:18:08 3419
  2. DEBPROC INICHI1 TB2*OBJET BASE1*MOT BASE2*MOT ;
  3. *********************************************************************
  4. * ENTREE ET MODIFICATION DES DONNEES DE CHI1
  5. *********************************************************************
  6. FMBASE= TB2%ACCES GBDD ;
  7. MESS ' Format de la base de données ' FMBASE
  8. ' Voulez vous le modifier ?' ;
  9. OBTE MFMT ;
  10. SI (EGA MFMT 'OUI' ) ;
  11. SI ( EGA FMBASE 'STRASBG' ) ;
  12. TB2%GBDD (MOT 'STRASBG') ;
  13. MESS ' On utilise le format STRASBG ' ;
  14. FINSI ;
  15. SI ( EGA FMBASE 'MINEQL' ) ;
  16. TB2%GBDD (MOT 'MINEQL') ;
  17. MESS ' On utilise le format MINEQL ' ;
  18. FINSI ;
  19. FINSI ;
  20. SI ( EGA MFMT 'MINEQL' ) ;
  21. TB2%GBDD (MOT 'MINEQL') ;
  22. MESS ' On utilise le format MINEQL ' ;
  23. FINSI ;
  24. SI ( EGA MFMT 'STRASBG' ) ;
  25. TB2%GBDD (MOT 'STRASBG') ;
  26. MESS ' On utilise le format STRASBG ' ;
  27. FINSI ;
  28. MESS ' Voulez vous tenir compte de la température ? ' ;
  29. OBTE MTMP ;
  30. SI (EGA MTMP 'OUI' ) ;
  31. TB2%GTEMPERA (MOT 'OUI') ;
  32. FINSI ;
  33. ILEC= VRAI ;
  34. 'SI' ('EGA' ('TYPE' (TB2.'IDEN')) 'LISTENTI' );
  35. ILEC=FAUX ;
  36. 'MESS' 'Liste des composants choisis ' ; LIST TB2.'IDEN' ;
  37. 'MESS' 'Voulez vous entrer une autre liste de composants ?' ;
  38. OBTE MIDEN ;
  39. SI (EGA MIDEN 'OUI' ) ;
  40. ILEC= VRAI ;
  41. FINSI ;
  42. 'FINSI' ;
  43. 'SI' ILEC ;
  44. 'MESS' 'Entrez la liste des composants ' ;
  45. OBTE LICOMP*LISTENTI ;
  46. TB2%GIDEN LICOMP ;
  47. FINSI ;
  48. TB3=CHI1 TB2 'COMP' BASE1 'LOGK' BASE2 ;
  49. MESS ' NOM DES COMPOSANTS ' ; LIST (TB3.DESCHI.NOM) ;
  50. MESS ' LISTE DES ESPECES ' ; LIST (TB3.DESCHI.IDY) ;
  51. MESS ' Voulez vous connaitre la composition de ces espèces ?' ;
  52. OBTE II1 ;
  53. SI (EGA II1 'OUI' ) ;
  54. **********************************************************************
  55. * affichage de la composition des espèces
  56. NBESP= DIME ( TB3.DESCHI.IDY) ;
  57. NBCOMP= DIME ( TB3.DESCHI.IDX) ;
  58. DECALE= MOT ' ' ;
  59. REPE BOUESP1 NBESP ;
  60. NUMESP= EXTR ( TB3.DESCHI.IDY) &BOUESP1 ;
  61. LOGKESP= EXTR ( TB3.DESCHI.LOGK) &BOUESP1 ;
  62. MESS ' ESPECE ' NUMESP ' LOGK ' LOGKESP ' COMPOSITION :' ;
  63. REPE BOUCMP1 NBCOMP ;
  64. NOCMP= EXTR (TB3.DESCHI.NOM) &BOUCMP1 ;
  65. NUAAA= NBESP*(&BOUCMP1 - 1) + &BOUESP1 ;
  66. AAA= EXTR (TB3.DESCHI.MATRICEA) NUAAA ;
  67. SI ( NEG AAA 0. ) ;
  68. MESS DECALE AAA NOCMP ;
  69. FINSI ;
  70. FIN BOUCMP1 ;
  71. FIN BOUESP1 ;
  72. **********************************************************************
  73. FINSI ;
  74. *
  75. REPE BNVCMP ;
  76. MESS ' Voulez vous entrer un nouveau composant ? ' ;
  77. OBTE MESPC ;
  78. SI (EGA MESPC 'OUI' ) ;
  79. TABCOMP= OBJET LINVCOMP ;
  80. 'MESS' 'Entrez son identificateur ' ;
  81. 'OBTE' COMIDEN*ENTIER ;
  82. 'MESS' 'Composant' COMIDEN ' Entrez son nom' ;
  83. 'OBTE' COMNOM*MOT ;
  84. 'MESS' 'Composant' COMIDEN ' Entrez sa charge ';
  85. 'OBTE' COMCHAR*ENTIER ;
  86. TABCOMP%COM_IDEN COMIDEN ;
  87. TABCOMP%COM_NOM COMNOM ;
  88. TABCOMP%COM_CHAR COMCHAR ;
  89. TB2%GNVCOMP &BNVCMP TABCOMP ;
  90. 'SINO';
  91. 'QUIT' BNVCMP ;
  92. 'FINS';
  93. FIN BNVCMP ;
  94. *
  95. *
  96. REPE BNVESP ;
  97. MESS ' Voulez vous entrer une nouvelle espèce ? ' ;
  98. OBTE MESPC ;
  99. SI (EGA MESPC 'OUI' ) ;
  100. TABESP1= OBJET LIESPECE ;
  101. 'MESS' 'Entrez son identificateur ' ;
  102. 'OBTE' ESPIDEN*ENTIER ;
  103. 'MESS' 'Espèce' ESPIDEN ' Entrez son LOGK' ;
  104. 'OBTE' ESPLOGK*FLOTTANT ;
  105. 'MESS' 'Espèce' ESPIDEN ' Entrez son type' ;
  106. 'OBTE' ESPITYP*ENTIER ;
  107. 'MESS' 'Espèce' ESPIDEN ' Entrez la liste de ses composants ' ;
  108. 'OBTE' ESPCOMP*LISTENTI ;
  109. 'MESS' 'Espèce' ESPIDEN ' Entrez les coefficients stoechiomètriques'
  110. ' correspondants' ;
  111. 'OBTE' ESPSTOE*LISTREEL ;
  112. TABESP1%ESP_IDEN ESPIDEN ;
  113. TABESP1%ESP_LOGK ESPLOGK ;
  114. TABESP1%ESP_ITYP ESPITYP ;
  115. TABESP1%ESP_COMP ESPCOMP ;
  116. TABESP1%ESP_STOE ESPSTOE ;
  117. TB2%GNVESP &BNVESP TABESP1 ;
  118. 'SINO';
  119. 'QUIT' BNVESP ;
  120. 'FINS';
  121. FIN BNVESP ;
  122. *
  123. *
  124. REPE BNVSOS ;
  125. MESS ' Voulez vous entrer une nouvelle solution solide ? ' ;
  126. OBTE MESPC ;
  127. SI (EGA MESPC 'OUI' ) ;
  128. TABSOSO= OBJET LIRSOSO ;
  129. 'MESS' 'Entrez son identificateur ' ;
  130. 'OBTE' SOSIDEN*ENTIER ;
  131. 'MESS' 'Espèce' SOSIDEN ' Entrez son type' ;
  132. 'OBTE' SOSITYP*ENTIER ;
  133. 'MESS' 'Espèce' SOSIDEN ' Entrez les identifiants des poles ' ;
  134. 'OBTE' SOSSOLI*LISTENTI ;
  135. 'SI' (SOSITYP > 2) ;
  136. 'SI' (SOSITYP < 5) ;
  137. 'MESS' 'Espèce' SOSIDEN ' Entrez les fractions molaires '
  138. ' correspondantes' ;
  139. 'OBTE' SOSFRAC*LISTREEL ;
  140. TABSOSO%SOS_FRAC SOSFRAC ;
  141. 'FINSI' ;
  142. 'FINSI' ;
  143. TABSOSO%SOS_IDEN SOSIDEN ;
  144. TABSOSO%SOS_ITYP SOSITYP ;
  145. TABSOSO%SOS_SOLI SOSSOLI ;
  146. TB2%GNVSOSO &BNVSOS TABSOSO ;
  147. 'SINO';
  148. 'QUIT' BNVSOS ;
  149. 'FINS';
  150. FIN BNVSOS ;
  151. *
  152. 'SI' ('EXIS' TB2 'CHXMX') ;
  153. 'MESS' 'Liste des minéraux choisis ' ; LIST TB2.'CHXMX' ;
  154. 'MESS' 'Voulez vous annuler cette liste ?' ;
  155. OBTE II1 ;
  156. SI (EGA II1 'OUI' ) ;
  157. TB2%'OUBLIER' CHXMX ;
  158. FINSI ;
  159. 'MESS' 'Voulez vous entrer une autre liste des minéraux choisis ? ' ;
  160. 'SINON' ;
  161. 'MESS' 'Voulez vous entrer la liste des minéraux choisis ?' ;
  162. FINSI ;
  163. OBTE MCHX ;
  164. SI (EGA MCHX 'OUI' ) ;
  165. 'MESS' 'Entrez les identificateurs correspondants' ;
  166. OBTE LCHXMX*LISTENTI ;
  167. TB2%GCHXMX LCHXMX ;
  168. FINSI ;
  169. *
  170. 'SI' ('EXIS' TB2 'ECHANGE') ;
  171. 'MESS' 'Liste des sites de surface par échange ionique ' ;
  172. LIST TB2.'ECHANGE' ;
  173. 'MESS' 'Voulez vous annuler cette liste ?' ;
  174. OBTE II1 ;
  175. SI (EGA II1 'OUI' ) ;
  176. TB2%'OUBLIER' ECHANGE ;
  177. FINSI ;
  178. 'MESS' 'Voulez vous entrer une autre liste d échange ? ' ;
  179. 'SINON' ;
  180. 'MESS' 'Voulez vous entrer la liste des sites de surface par'
  181. ' échange ionique' ;
  182. FINSI ;
  183. OBTE MCHX ;
  184. SI (EGA MCHX 'OUI' ) ;
  185. 'MESS' 'Entrez les identificateurs correspondants' ;
  186. OBTE LECHMX*LISTENTI ;
  187. TB2%GECHANGE LECHMX ;
  188. FINSI ;
  189. *
  190. 'SI' ('EXIS' TB2 'CLIM') ;
  191. 'SI' ('EXIS' (TB2.'CLIM') TYP6 );
  192. 'MESS' 'Liste des espèces de type 6 ' ; LIST TB2.'CLIM'.'TYP6' ;
  193. 'MESS' 'Voulez vous annuler cette liste ?' ;
  194. OBTE II1 ;
  195. SI (EGA II1 'OUI' ) ;
  196. TB2.CLIM%'OUBLIER' TYP6 ;
  197. FINSI ;
  198. 'MESS' 'Voulez vous entrer une autre liste des espèces TYP6 ? ' ;
  199. 'SINON' ;
  200. 'MESS' 'Voulez vous entrer la liste des espèces TYP6 ?' ;
  201. FINSI ;
  202. 'SINON' ;
  203. 'MESS' 'Voulez vous entrer la liste des espèces TYP6 ?' ;
  204. FINSI ;
  205. OBTE MTY6 ;
  206. SI (EGA MTY6 'OUI' ) ;
  207. 'MESS' 'Entrez les identificateurs correspondants' ;
  208. OBTE LMTY6*LISTENTI ;
  209. TB2%GCLIM TYP6 LMTY6 ;
  210. FINSI ;
  211. 'SI' ('EXIS' TB2 'CLIM') ;
  212. 'SI' ('EXIS' (TB2.'CLIM') TYP3 );
  213. 'MESS' 'Liste des espèces à activité imposé ' ;
  214. LIST TB2.'CLIM'.'TYP3' ;
  215. 'MESS' 'Voulez vous annuler cette liste ?' ;
  216. OBTE II1 ;
  217. SI (EGA II1 'OUI' ) ;
  218. TB2.CLIM%'OUBLIER' TYP3 ;
  219. FINSI ;
  220. 'MESS' 'Voulez vous entrer une autre liste d espèces à activité ?'
  221. 'imposé ' ;
  222. 'SINON' ;
  223. 'MESS' 'Voulez vous imposer l activité de certaines espèces ?' ;
  224. FINSI ;
  225. 'SINON' ;
  226. 'MESS' 'Voulez vous imposer l activité de certaines espèces ?' ;
  227. FINSI ;
  228. OBTE MTY3 ;
  229. SI (EGA MTY3 'OUI' ) ;
  230. 'MESS' 'Entrez les identificateurs correspondants' ;
  231. OBTE LMTY3*LISTENTI ;
  232. TB2%GCLIM TYP3 LMTY3 ;
  233. LLX=TB2%ACCES GIDEN ;
  234. NIDX= DIME LLX ;
  235. NBTY3= DIME LMTY3 ;
  236. REPE BCMP1 NBTY3 ;
  237. NUM3= EXTR LMTY3 &BCMP1 ;
  238. ILICM3=VRAI ;
  239. REPE BCMP2 NIDX ;
  240. IIX= EXTR LLX &BCMP2 ;
  241. SI (EGA IIX NUM3) ;
  242. ILICM3= FAUX ;
  243. QUITTER BCMP2 ;
  244. FINSI ;
  245. FIN BCMP2 ;
  246. SI ILICM3 ;
  247. QUITTER BCMP1 ;
  248. FINSI ;
  249. FIN BCMP1 ;
  250. SI ILICM3 ;
  251. 'MESS' 'Il faut entrer la liste des composants immobiles' ;
  252. OBTE LCOMP3*LISTENTI ;
  253. TB2%GCLIM COMP3 LCOMP3 ;
  254. FINSI ;
  255. FINSI ;
  256. FINP ;
  257.  
  258.  

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