Télécharger evmanu.eso

Retour à la liste

Numérotation des lignes :

evmanu
  1. C EVMANU SOURCE CB215821 22/05/12 15:08:13 11362
  2. SUBROUTINE EVMANU(ICOUL)
  3. C=======================================================================
  4. C OPTION MANU DE L'OPERATEUR EVOL
  5. C
  6. C POUR RENTRER A LA MAIN UN OBJET DE TYPE EVOLUTION
  7. C (IL N Y AURA QU UNE SEULE EVOLUTION)
  8. C SYNTAXE :
  9. C
  10. C EV1= EVOL (COUL) MANU ('TYPE' MTYP) ('LEGE' MTIT1)
  11. C ('CHAINE CARAC') PRGX ('CHAINE CARAC') PRGY ;
  12. C
  13. C
  14. C COUL : COULEUR DE LA COURBE (FACULTATIVE)
  15. C MOTXI : OBJET DE TYPE MOT
  16. C PRGX : LISTE DE REELS (ABSCISSES)
  17. C MOTYI : OBJET DE TYPE MOT
  18. C PRGY : LISTE DE REELS (ORDONNEES)
  19. C
  20. C CREATION : 01/10/86, GUILBAUD
  21. C MODIFS : 2015-05-07 BP, ajout du titre de la LEGEnde
  22. C
  23. C======================================================================
  24. IMPLICIT INTEGER(I-N)
  25.  
  26. -INC PPARAM
  27. -INC CCOPTIO
  28. -INC SMEVOLL
  29. -INC SMLREEL
  30. -INC SMLMOTS
  31. -INC SMLENTI
  32. C
  33. CHARACTER*72 TI,MTIT1
  34. CHARACTER*12 MOTITR
  35. CHARACTER*8 ITBLAN,TYPi
  36. CHARACTER*4 MTYP,LMOT(1)
  37. CHARACTER*4 MOTIT1(1)
  38. DIMENSION MOT(2)
  39. C
  40. DATA LMOT/'TYPE'/
  41. DATA MOTIT1/'LEGE'/
  42. C
  43. C CREATION DE LA SOUS-EVOLUTION
  44. SEGINI KEVOLL
  45. NOMEVX=' '
  46. NOMEVY=' '
  47. TYPX='LISTREEL'
  48. TYPY='LISTREEL'
  49. C
  50. C LECTURE OPTIONNELLE DU TYPE DE LA COURBE
  51. C (NUMEVY = MTYP = {REEL, MODU, PHAS, PREE, PIMA ...} ) :
  52. IPLAC=0
  53. IMOT=0
  54. CALL LIRMOT(LMOT,1,IPLAC,0)
  55. IF (IPLAC.EQ.1) THEN
  56. CALL LIRCHA(MTYP,1,IMOT)
  57. IF (IMOT.EQ.0) RETURN
  58. ENDIF
  59.  
  60. C LECTURE OPTIONNELLE DU TITRE DE LA SOUS EVOLUTION DE LA COURBE (LEGE) :
  61. MTIT1=' '
  62. ITIT1=0
  63. CALL LIRMOT(MOTIT1,1,ITIT1,0)
  64. IF(ITIT1.EQ.1) THEN
  65. CALL LIRCHA(MTIT1,1,IRETOU)
  66. IF(IERR.NE.0) RETURN
  67. ENDIF
  68. C
  69. C LECTURE DES TITRES ET LISTREELS DE L'ABSCISSE + ORDONNEE
  70. DO 20 J=1,2
  71.  
  72. C *** TITRE ABSCISSES / ORDONNEES SOUS FORME DE MOT
  73. MOTITR=' '
  74. CALL LIRCHA(MOTITR,0,IRETOU)
  75. IF(IRETOU.EQ.0) GOTO 12
  76. IF(J.EQ.1) NOMEVX=MOTITR
  77. IF(J.EQ.2) NOMEVY=MOTITR
  78.  
  79. C *** LECTURE DE LA LISTREEL (ou autre...)
  80. 12 CONTINUE
  81. CALL QUETYP (TYPi,1,IRETOU)
  82. IF (IRETOU .EQ. 0 .OR. (.NOT. ( Typi .EQ. 'LISTREEL'
  83. & .OR. Typi .EQ. 'LISTMOTS'
  84. & .OR. Typi .EQ. 'LISTENTI'))) THEN
  85. MOTERR(1 :8 ) = 'LISTREEL'
  86. MOTERR(9 :16) = 'LISTMOTS'
  87. MOTERR(17:24) = 'LISTENTI'
  88. CALL ERREUR(471)
  89. GOTO 1000
  90. ENDIF
  91.  
  92. CALL LIROBJ(Typi,MOT(J),0,IRET)
  93. IF( J.EQ.1) TYPX=Typi
  94. IF( J.EQ.2) TYPY=Typi
  95. 20 CONTINUE
  96. C
  97. IF (TYPX.EQ.'LISTREEL') THEN
  98. MLREEL=MOT(1)
  99. SEGACT MLREEL
  100. LX = PROG(/1)
  101. ELSEIF(TYPX.EQ.'LISTMOTS') THEN
  102. MLMOTS=MOT(1)
  103. SEGACT MLMOTS
  104. LX= MOTS(/2)
  105. ELSEIF(TYPX.EQ.'LISTENTI') THEN
  106. MLENTI=MOT(1)
  107. SEGACT MLENTI
  108. LX=LECT(/1)
  109. ENDIF
  110.  
  111. IF (TYPY.EQ.'LISTREEL') THEN
  112. MLREEL=MOT(2)
  113. SEGACT MLREEL
  114. LY = PROG(/1)
  115. IF (IPLAC .EQ. 0) MTYP ='REEL'
  116. ELSEIF(TYPY.EQ.'LISTMOTS') THEN
  117. MLMOTS=MOT(2)
  118. SEGACT MLMOTS
  119. LY= MOTS(/2)
  120. IF (IPLAC .EQ. 0) MTYP ='MOTS'
  121. ELSEIF(TYPY.EQ.'LISTENTI') THEN
  122. MLENTI=MOT(2)
  123. SEGACT MLENTI
  124. LY=LECT(/1)
  125. IF (IPLAC .EQ. 0) MTYP ='ENTI'
  126. ENDIF
  127.  
  128. IF(LX.NE.LY) THEN
  129. CALL ERREUR(263)
  130. C LES 2 PROGRESSIONS DOIVENT ETRE DE MEME LONGUEUR
  131. GOTO 1000
  132. ENDIF
  133.  
  134. C CREATION DE L'EVOLUTION AVEC 1 SEULE SOUS EVOLUTION
  135. N=1
  136. SEGINI MEVOLL
  137. IPVO=MEVOLL
  138. TI(1:72)=TITREE
  139. IEVTEX=TI
  140. ITYEVO='REEL'
  141. c KEVTEX=TI
  142. IF(ITIT1.EQ.0) MTIT1=NOMEVY
  143. KEVTEX=MTIT1
  144. IEVOLL(1)=KEVOLL
  145. IPROGX=MOT(1)
  146. IPROGY=MOT(2)
  147. NUMEVX=ICOUL
  148. NUMEVY=MTYP
  149. CALL ACTOBJ('EVOLUTIO',IPVO,1)
  150. CALL ECROBJ('EVOLUTIO',IPVO)
  151. RETURN
  152.  
  153. 1000 CONTINUE
  154. SEGSUP KEVOLL
  155. RETURN
  156. END
  157.  
  158.  

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