Télécharger oublie1.eso

Retour à la liste

Numérotation des lignes :

  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. -INC CCOPTIO
  19. -INC SMTABLE
  20. *
  21. * PARAMETRES: (E)=ENTREE (S)=SORTIE
  22. * -----------
  23. *
  24. * IPTABL (E) TABLE A REDUIRE.
  25. * IPTABL (S) TABLE REDUITE
  26. * INDICE (E) INDICE DE L'OBJET A ENLEVER.
  27. * TYPIND (E) TYPE DE L'INDICE DE L'OBJET A ENLEVER.
  28. *
  29. CHARACTER*(*) TYPIND
  30. *
  31. *
  32. * LANGAGE:
  33. * --------
  34. *
  35. * ESOPE + FORTRAN77
  36. *
  37. ************************************************************************
  38. *
  39. IOB=0
  40. IF( IPTABL.LT.0) THEN
  41. IOB=905-171
  42. IPTABL=-IPTABL
  43. ENDIF
  44. IF (TYPIND.EQ.'FLOTTANT') CALL ERREUR(314)
  45. IF (IERR.NE.0) RETURN
  46. *
  47. MTABLE = IPTABL
  48. SEGACT,MTABLE*MOD
  49. M = MLOTAB
  50. *
  51. * IF(IOB.EQ.0) THEN
  52. M0 = 0
  53. DO 100 I=1,M
  54. IF (MTABTI(I) .EQ. TYPIND. OR.
  55. $ (MTABTI(I).EQ.'METHODE '. AND . TYPIND.EQ.'MOT ')) THEN
  56. IF (MTABII(I) .EQ. INDICE) THEN
  57. M0 = I
  58. GOTO 102
  59. END IF
  60. END IF
  61. 100 CONTINUE
  62. * ELSE
  63. * M0=0
  64. * DO 110 I=1,M
  65. * IF(MTABTI(I).EQ.'METHODE ') THEN
  66. * IF (MTABII(I) .EQ. INDICE) THEN
  67. * M0 = I
  68. * GOTO 102
  69. * END IF
  70. * END IF
  71. * 110 CONTINUE
  72. * END DO
  73. * ENDIF
  74. 102 CONTINUE
  75. *
  76. IF (M0 .EQ. 0) THEN
  77. SEGDES MTABLE*NOMOD
  78. CALL ERREUR (171+ IOB)
  79. RETURN
  80. END IF
  81. *
  82. M = M - 1
  83. *
  84. DO 210 I=M0,M
  85. MTABLE.MTABTI(I) = MTABLE.MTABTI(I+1)
  86. MTABLE.MTABTV(I) = MTABLE.MTABTV(I+1)
  87. MTABLE.RMTABI(I) = MTABLE.RMTABI(I+1)
  88. MTABLE.MTABII(I) = MTABLE.MTABII(I+1)
  89. MTABLE.MTABIV(I) = MTABLE.MTABIV(I+1)
  90. MTABLE.RMTABV(I) = MTABLE.RMTABV(I+1)
  91. 210 CONTINUE
  92. *
  93. MLOTAB = M
  94. SEGADJ MTABLE
  95. SEGDES MTABLE
  96. *
  97. END
  98.  
  99.  
  100.  
  101.  

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