Télécharger oublie1.eso

Retour à la liste

Numérotation des lignes :

oublie1
  1. C OUBLIE1 SOURCE CHAT 05/01/13 02:08:15 5004
  2. SUBROUTINE OUBLIE1 (IPTABL,INDICE,TYPIND)
  3. ************************************************************************
  4. *
  5. * O U B L I E 1
  6. * -------------
  7. *
  8. * FONCTION:
  9. * ---------
  10. *
  11. * OUBLIER UN ELEMENT D'UNE "TABLE".
  12. * ou une methode d'un objet
  13. *
  14. * MODULES UTILISES:
  15. * -----------------
  16. *
  17. IMPLICIT INTEGER(I-N)
  18.  
  19. -INC PPARAM
  20. -INC CCOPTIO
  21. -INC SMTABLE
  22. *
  23. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  24. * -----------
  25. *
  26. * IPTABL (E) TABLE A REDUIRE.
  27. * IPTABL (S) TABLE REDUITE
  28. * INDICE (E) INDICE DE L'OBJET A ENLEVER.
  29. * TYPIND (E) TYPE DE L'INDICE DE L'OBJET A ENLEVER.
  30. *
  31. CHARACTER*(*) TYPIND
  32. *
  33. *
  34. * LANGAGE:
  35. * --------
  36. *
  37. * ESOPE + FORTRAN77
  38. *
  39. ************************************************************************
  40. *
  41. IOB=0
  42. IF( IPTABL.LT.0) THEN
  43. IOB=905-171
  44. IPTABL=-IPTABL
  45. ENDIF
  46. IF (TYPIND.EQ.'FLOTTANT') CALL ERREUR(314)
  47. IF (IERR.NE.0) RETURN
  48. *
  49. MTABLE = IPTABL
  50. SEGACT,MTABLE*MOD
  51. M = MLOTAB
  52. *
  53. * IF(IOB.EQ.0) THEN
  54. M0 = 0
  55. DO 100 I=1,M
  56. IF (MTABTI(I) .EQ. TYPIND. OR.
  57. $ (MTABTI(I).EQ.'METHODE '. AND . TYPIND.EQ.'MOT ')) THEN
  58. IF (MTABII(I) .EQ. INDICE) THEN
  59. M0 = I
  60. GOTO 102
  61. END IF
  62. END IF
  63. 100 CONTINUE
  64. * ELSE
  65. * M0=0
  66. * DO 110 I=1,M
  67. * IF(MTABTI(I).EQ.'METHODE ') THEN
  68. * IF (MTABII(I) .EQ. INDICE) THEN
  69. * M0 = I
  70. * GOTO 102
  71. * END IF
  72. * END IF
  73. * 110 CONTINUE
  74. * END DO
  75. * ENDIF
  76. 102 CONTINUE
  77. *
  78. IF (M0 .EQ. 0) THEN
  79. SEGDES MTABLE*NOMOD
  80. CALL ERREUR (171+ IOB)
  81. RETURN
  82. END IF
  83. *
  84. M = M - 1
  85. *
  86. DO 210 I=M0,M
  87. MTABLE.MTABTI(I) = MTABLE.MTABTI(I+1)
  88. MTABLE.MTABTV(I) = MTABLE.MTABTV(I+1)
  89. MTABLE.RMTABI(I) = MTABLE.RMTABI(I+1)
  90. MTABLE.MTABII(I) = MTABLE.MTABII(I+1)
  91. MTABLE.MTABIV(I) = MTABLE.MTABIV(I+1)
  92. MTABLE.RMTABV(I) = MTABLE.RMTABV(I+1)
  93. 210 CONTINUE
  94. *
  95. MLOTAB = M
  96. SEGADJ MTABLE
  97. SEGDES MTABLE
  98. *
  99. END
  100.  
  101.  
  102.  
  103.  

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