lire01
C LIRE01 SOURCE SP204843 24/09/05 21:15:03 12005 ************************************************************************ * * L I R E 0 1 * ----------- * * FONCTION: * --------- * * LIRE 2 OBJETS, L'UN ETANT UN INDICE DE POSITION DANS L'AUTRE * (UTILISE, A L'ORIGINE, POUR LES OPERATEURS "EXTRAIRE" ET * "ENLEVER"). * * MODE D'APPEL: * ------------- * * CALL LIRE01 (IPOIN1,IPOS,IPOIN2) * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * IPOS ENTIER (E) IPOS<>0 IPOIN2 PEUT ETRE UN LISTENTI * IPOS=0 IPOIN2 NE PEUT PAS ETRE UN LISTENTI * * IPOIN1 ENTIER (S) POINTEUR SUR LA LISTE A MODIFIER * * IPOIN2 ENTIER (S) POINTEUR SUR LA LISTE D'INDICES DE POSITION * (OU L'INDICE DE POSITION LUI-MEME). * * IPOS ENTIER (S) CHIFFRE INDIQUANT LES TYPES POINTES PAR * IPOIN1 ET IPOIN2 * * |IPOS|=1 :: IPOIN1=LISTREEL * |IPOS|=2 :: IPOIN1=LISTENTI * |IPOS|=3 :: IPOIN1=LISTMOTS * |IPOS|=4 :: IPOIN1=LISTCHPO * |IPOS|=5 :: IPOIN1=LISTOBJE * * IPOS>0 :: IPOIN2=ENTIER * IPOS<0 :: IPOIN2=LISTENTI * * IPOS =0 :: PAS D'OBJET "LISTxxxx" TROUVÉ * * * MODE DE FONCTIONNEMENT * ---------------------- * * * SUITE A MODIF IL N'EST PLUS POSSIBLE DE LIRE UNE TABLE. * * * SOUS-PROGRAMMES APPELES: * ------------------------ * * LIRE, LIRENT * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 5 DECEMBRE 1984 * DATE DE MODIFICATION 22 JANVIER 1988 * SERGE PASCAL 5 SEPTEMBRE 2024 : LECTURE D'UN LISTOBJE * * LANGAGE: * -------- * * FORTRAN77 * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO CHARACTER*(8) CMOT LOGICAL ZLENTI PARAMETER (NBMO=5) CHARACTER*8 CLIST(NBMO) DATA CLIST /'LISTREEL','LISTENTI','LISTMOTS','LISTCHPO', & 'LISTOBJE'/ * AUTORISE-T-ON INDIC1 A ETRE DE TYPE LISTENTI ? ZLENTI=(IPOS.NE.0) * LECTURE DE OBJET1 DANS IPOIN1 IF (IRETOU.EQ.0) THEN RETURN ENDIF IF (IPOS.EQ.0) THEN MOTERR(1:8)=CMOT RETURN ELSE ENDIF * LECTURE DE INDIC1 DANS IPOIN2 IF (IRETOU.EQ.0) THEN RETURN ENDIF IF (CMOT.EQ.'ENTIER') THEN ISGN=1 IF (IERR.NE.0) RETURN ELSEIF (ZLENTI.AND.CMOT.EQ.'LISTENTI') THEN ISGN=-1 IF (IERR.NE.0) RETURN ELSE MOTERR(1:8)=CMOT RETURN ENDIF IPOS=IPOS*ISGN RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales