Télécharger lirtab.eso

Retour à la liste

Numérotation des lignes :

lirtab
  1. C LIRTAB SOURCE PV 21/04/19 21:15:00 10971
  2. SUBROUTINE LIRTAB(ITYP,IRETA,ICODE,IRETOU)
  3. IMPLICIT INTEGER(I-N)
  4.  
  5. -INC PPARAM
  6. -INC CCOPTIO
  7. -INC CCNOYAU
  8.  
  9.  
  10. CHARACTER*(*)ITYP
  11. CHARACTER*8 TYPE,TAPIND,TYPOBJ,CHARIN
  12. CHARACTER*(LOCHAI) CHARRE
  13. CHARACTER*8 LETYPE
  14. REAL*8 XVALIN,XVALRE
  15. LOGICAL IV,LOGIN,LOGRE
  16.  
  17. SEGMENT IVAL1
  18. INTEGER IVAL(NCLE)
  19. INTEGER NOVAL(NCLE)
  20. CHARACTER*8 TYVAL(NCLE)
  21. ENDSEGMENT
  22.  
  23. IRET =0
  24. ireta =0
  25. iretou=0
  26. IFIN =0
  27. LE =LEN(ITYP)
  28. N =0
  29. NCLE =10
  30. SEGINI,IVAL1
  31. TYPE=ITYP
  32. 1 CONTINUE
  33. MOTERR(1:8)=TYPE
  34. if (icode.ne.0) CALL MESLIR(-173)
  35. CALL LIROBJ ('TABLE',IRET,ICODE,IRETO)
  36. * write(6,*) ' lecture de la table ' , iret
  37. IF(IERR.NE.0) GO TO 10
  38. IF(IRETO.EQ.0)GO TO 10
  39. TYPOBJ = ' '
  40. CALL ACCTAB(IRET,'MOT ',IVALIN,XVALIN,'SOUSTYPE',LOGIN,
  41. $ IOBIN, TYPOBJ,IVALRE,XVALRE,CHARRE ,LOGRE,IOBRE)
  42. IF(TYPOBJ.EQ.'MOT ') THEN
  43. * write(6,*) ' le ivalre ' , le , ivalre
  44. IF(IVALRE.EQ.LE) THEN
  45. IF(CHARRE(1:LE).EQ.ITYP) THEN
  46. * ON A TROUVE LA TABLE RECHERCHEE IL FAUT METTRE A JOUR LA
  47. * LECTURE DES TABLES PRECEDEMMENT LUES
  48. ireta=iret
  49. iretou=1
  50. * write(6,*) ' c est celle la'
  51. GO TO 10
  52. ENDIF
  53. ENDIF
  54. ENDIF
  55. * CE N EST PAS UNE BONNE TABLE ON REMPLIT IVAL ET ON RETOURNE EN
  56. * LECTURE
  57. N = N + 1
  58. IF (N.GT.NCLE)THEN
  59. SEGADJ IVAL1
  60. ENDIF
  61. IVAL(N) =IMOTLU
  62. NOVAL(N)=INOOB1(IMOTLU)
  63. TYVAL(N)=INOOB2(IMOTLU)
  64. GO TO 1
  65. *
  66. * AVANT DE SORTIR ON REMET LES TABLES LUES PAS(DU BON SOUSTYPE) EN
  67. * LECTURE
  68. *
  69. 10 CONTINUE
  70. IF(N.EQ.0) GO TO 20
  71. DO 2 J=1,N
  72. IV=.TRUE.
  73. imola= IVAL(J)
  74. IF(INOOB1(imola).NE.NOVAL(J)) IV=.FALSE.
  75. IF(INOOB2(imola).NE.TYVAL(J)) IV=.FALSE.
  76. IF(IV) THEN
  77. JPOOB1(imola)=.TRUE.
  78. IF(IBPILE.GT.imola) IBPILE=imola
  79. IF(IHPILE.LT.imola) IHPILE=imola
  80. ELSE
  81. NN = JPOOB1(/1)
  82. DO 5 KK=1,NN
  83. IF(INOOB1(KK).NE.NOVAL(KK)) GOTO 5
  84. IF(INOOB2(KK).NE.TYVAL(KK)) GOTO 5
  85. IF(JPOOB1(KK)) GOTO 5
  86. JPOOB1(KK)=.TRUE.
  87. GOTO 6
  88. 5 CONTINUE
  89. CALL ERREUR(5)
  90. 6 CONTINUE
  91. ENDIF
  92. 2 CONTINUE
  93. 20 CONTINUE
  94. SEGSUP IVAL1
  95. END
  96.  
  97.  
  98.  
  99.  

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