Télécharger enlev6.eso

Retour à la liste

Numérotation des lignes :

  1. C ENLEV6 SOURCE CHAT 05/01/12 23:40:02 5004
  2. SUBROUTINE ENLEV6 (IPTABL, IPTAB2)
  3. IMPLICIT INTEGER(I-N)
  4. IMPLICIT REAL*8(A-H,O-Z)
  5. ************************************************************************
  6. *
  7. * E N L E V 6
  8. * -----------
  9. *
  10. * FONCTION:
  11. * ---------
  12. *
  13. * ENLEVER UN ELEMENT D'UNE "TABLE".
  14. *
  15. * MODULES UTILISES:
  16. * -----------------
  17. *
  18. -INC CCOPTIO
  19. -INC SMTABLE
  20. *
  21. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  22. * -----------
  23. *
  24. * IPTABL (E) TABLE A REDUIRE.
  25. * INDICE INDICE DE L'OBJET A ENLEVER.
  26. * TYPIND TYPE DE L'INDICE DE L'OBJET A ENLEVER.
  27. * IPTAB2 (S) TABLE REDUITE.
  28. *
  29. CHARACTER*(8) TYPIND
  30. *
  31. * AUTEUR, DATE DE CREATION:
  32. * -------------------------
  33. *
  34. * PASCAL MANIGOT 21 JUIN 1988
  35. *
  36. * LANGAGE:
  37. * --------
  38. *
  39. * ESOPE + FORTRAN77
  40. *
  41. ************************************************************************
  42. *
  43.  
  44. CALL QUETYP ( TYPIND,1,IRETOU)
  45. IF(IERR.NE.0) RETURN
  46. IF(TYPIND.EQ.'FLOTTANT' ) THEN
  47. CALL LIRREE ( XVA,1,IRETOU)
  48. ELSE
  49. CALL LIROBJ ( TYPIND , INDICE, 1,IRETOU)
  50. ENDIF
  51. IF ( IERR.NE.0) RETURN
  52. MTABLE = IPTABL
  53. SEGACT,MTABLE
  54. M = MLOTAB
  55. M0 = 0
  56. IF (TYPIND.EQ.'FLOTTANT') THEN
  57. DO 103 I=1,M
  58. IF( RMTABI(I) . EQ. XVA) THEN
  59. M0 = I
  60. GO TO 102
  61. ENDIF
  62. 103 CONTINUE
  63. ELSE
  64. DO 100 I=1,M
  65. IF (MTABTI(I) .EQ. TYPIND) THEN
  66. IF (MTABII(I) .EQ. INDICE) THEN
  67. M0 = I
  68. GOTO 102
  69. END IF
  70. END IF
  71. 100 CONTINUE
  72. * END DO
  73. ENDIF
  74. 102 CONTINUE
  75. *
  76. IF (M0 .EQ. 0) THEN
  77. CALL ERREUR (171)
  78. RETURN
  79. END IF
  80. *
  81. M = M - 1
  82. SEGINI,MTAB2
  83. MTAB2.MLOTAB=M
  84. IPTAB2 = MTAB2
  85. *
  86. DO 200 I=1,(M0-1)
  87. MTAB2.MTABTI(I) = MTABLE.MTABTI(I)
  88. MTAB2.MTABTV(I) = MTABLE.MTABTV(I)
  89. MTAB2.RMTABI(I) = MTABLE.RMTABI(I)
  90. MTAB2.MTABII(I) = MTABLE.MTABII(I)
  91. MTAB2.MTABIV(I) = MTABLE.MTABIV(I)
  92. MTAB2.RMTABV(I) = MTABLE.RMTABV(I)
  93. 200 CONTINUE
  94. * END DO
  95. DO 210 I=M0,M
  96. MTAB2.MTABTI(I) = MTABLE.MTABTI(I+1)
  97. MTAB2.MTABTV(I) = MTABLE.MTABTV(I+1)
  98. MTAB2.RMTABI(I) = MTABLE.RMTABI(I+1)
  99. MTAB2.MTABII(I) = MTABLE.MTABII(I+1)
  100. MTAB2.MTABIV(I) = MTABLE.MTABIV(I+1)
  101. MTAB2.RMTABV(I) = MTABLE.RMTABV(I+1)
  102. 210 CONTINUE
  103. * END DO
  104. *
  105. SEGDES,MTABLE
  106. SEGDES,MTAB2
  107. *
  108. END
  109.  
  110.  
  111.  

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