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 43 : IF (TYPIND.EQ.'FLOTTANT') CALL ERREUR(314) 44 : IF (IERR.NE.0) RETURN 45 : * 46 : MTABLE = IPTABL 47 : SEGACT,MTABLE*MOD 48 : M = MLOTAB 49 : * 50 : * IF(IOB.EQ.0) THEN 51 : M0 = 0 52 : DO 100 I=1,M 53 : IF (MTABTI(I) .EQ. TYPIND. OR. 54 : $ (MTABTI(I).EQ.'METHODE '. AND . TYPIND.EQ.'MOT ')) THEN 55 : IF (MTABII(I) .EQ. INDICE) THEN 56 : M0 = I 57 : GOTO 102 58 : END IF 59 : END IF 60 : 100 CONTINUE 61 : * ELSE 62 : * M0=0 63 : * DO 110 I=1,M 64 : * IF(MTABTI(I).EQ.'METHODE ') THEN 65 : * IF (MTABII(I) .EQ. INDICE) THEN 66 : * M0 = I 67 : * GOTO 102 68 : * END IF 69 : * END IF 70 : * 110 CONTINUE 71 : * END DO 72 : * ENDIF 73 : 102 CONTINUE 74 : * 75 : IF (M0 .EQ. 0) THEN 76 : SEGDES MTABLE*NOMOD 76 : CALL ERREUR (171+ IOB) 77 : RETURN 78 : END IF 79 : * 80 : M = M - 1 81 : * 82 : DO 210 I=M0,M 83 : MTABLE.MTABTI(I) = MTABLE.MTABTI(I+1) 84 : MTABLE.MTABTV(I) = MTABLE.MTABTV(I+1) 85 : MTABLE.RMTABI(I) = MTABLE.RMTABI(I+1) 86 : MTABLE.MTABII(I) = MTABLE.MTABII(I+1) 87 : MTABLE.MTABIV(I) = MTABLE.MTABIV(I+1) 88 : MTABLE.RMTABV(I) = MTABLE.RMTABV(I+1) 89 : 210 CONTINUE 90 : * 91 : MLOTAB = M 92 : SEGADJ MTABLE 93 : SEGDES MTABLE 94 : * 95 : END 96 : 97 : 98 :
© Cast3M 2003 - All rights reserved.
Disclaimer