Download oublie1.eso

Back to the list

   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