typfil
C TYPFIL SOURCE PASCAL 22/06/24 21:15:07 11393 IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C======================================================================= C ETABLIT LA CORRESPONDANCE : C NOM DU TYPE (ITYPE) - NUMERO DU TYPE C SI TYPE EN ENTREE EN SORTIE LE NUMERO DE LA FILE ASSOCIE C SI FILE EN ENTREE EN SORTIE LE TYPE ASSOCIE C C EN RETOUR SI IFILE NEGATIF .....ERREUR ...IFILE=-NPOSSI C======================================================================= C TABLEAU KCOLA : C 1 MELEME 2 CHPOIN 3 MRIGID 4 5 6 MCLSTR C 7 MELSTR 8 MSOLUT 9 MSTRUC 10 MTABLE 11 12 MSOSTU C 13 IMATRI 14 MJONCT 15 MATTAC 16 MMATRI 17 MDEFOR 18 MLREEL C 19 MLENTI 20 MCHARG 21 22 MEVOLL 23 MSUPER 24 LOGIQUE C 25 FLOTTA 26 ENTIER 27 MOT 28 MTEXT 29 MLMOTS 30 MVECT C 31 MVECTD 32 POINT 33 CONFIG 34 LICHPO 35 BASEM 36 PROCEDUR C 37 BLOC 38 MMODEL 39 MCHAML 40 MINTE 41 MNUAGE 42 MATRAK C 43 MATRIK 44 OBJET 45 METHODE 46 ESCLAVE 47 FANTOME 48 IELVAL C 49 ANNOTATI 50 LISTOBJE C======================================================================= PARAMETER (NPOSSI=50) CHARACTER*(*) ITYPE CHARACTER*(8) IPOSSI(NPOSSI) C DATA IPOSSI( 1) /'MAILLAGE'/ C DATA IPOSSI( 2) /'CHPOINT '/ C DATA IPOSSI( 3) /'RIGIDITE'/ C DATA IPOSSI( 4) /'********'/ C DATA IPOSSI( 5) /'********'/ C DATA IPOSSI( 6) /'BLOQSTRU'/ C DATA IPOSSI( 7) /'ELEMSTRU'/ C DATA IPOSSI( 8) /'SOLUTION'/ C DATA IPOSSI( 9) /'STRUCTUR'/ C DATA IPOSSI(10) /'TABLE '/ C DATA IPOSSI(11) /'********'/ C DATA IPOSSI(12) /'MSOSTU '/ C DATA IPOSSI(13) /'IMATRI '/ C DATA IPOSSI(14) /'MJONCT '/ C DATA IPOSSI(15) /'ATTACHE '/ C DATA IPOSSI(16) /'MMATRI '/ C DATA IPOSSI(17) /'DEFORME '/ C DATA IPOSSI(18) /'LISTREEL'/ C DATA IPOSSI(19) /'LISTENTI'/ C DATA IPOSSI(20) /'CHARGEME'/ C DATA IPOSSI(21) /'********'/ C DATA IPOSSI(22) /'EVOLUTIO'/ C DATA IPOSSI(23) /'SUPERELE'/ C DATA IPOSSI(24) /'LOGIQUE '/ C DATA IPOSSI(25) /'FLOTTANT'/ C DATA IPOSSI(26) /'ENTIER '/ C DATA IPOSSI(27) /'MOT '/ C DATA IPOSSI(28) /'TEXTE '/ C DATA IPOSSI(29) /'LISTMOTS'/ C DATA IPOSSI(30) /'VECTEUR '/ C DATA IPOSSI(31) /'VECTDOUB'/ C DATA IPOSSI(32) /'POINT '/ C DATA IPOSSI(33) /'CONFIGUR'/ C DATA IPOSSI(34) /'LISTCHPO'/ C DATA IPOSSI(35) /'BASEMODA'/ C DATA IPOSSI(36) /'PROCEDUR'/ C DATA IPOSSI(37) /'BLOC '/ C DATA IPOSSI(38) /'MMODEL '/ C DATA IPOSSI(39) /'MCHAML '/ C DATA IPOSSI(40) /'MINTE '/ C DATA IPOSSI(41) /'NUAGE '/ C DATA IPOSSI(42) /'MATRAK '/ C DATA IPOSSI(43) /'MATRIK '/ C DATA IPOSSI(44) /'OBJET '/ C DATA IPOSSI(45) /'METHODE '/ C DATA IPOSSI(46) /'ESCLAVE '/ C DATA IPOSSI(47) /'FANTOME '/ C DATA IPOSSI(48) /'IELVAL '/ C DATA IPOSSI(49) /'ANNOTATI'/ C DATA IPOSSI(50) /'LISTOBJE'/ C C Maniere de fonctionnement en fonction des parametres : C C ITYPE | IFILE | Resultat C ----------------------------------------------------------- C 8 blancs | >= 1 et <= NPOSSI | ITYPE <- IPOSSI(IFILE) C 8 blancs | < 1 ou > NPOSSI | IFILE <- -NPOSSI C qqch | peu importe | IFILE <- I tq IPOSSI(I)=qqch C | | -NPOSSI si un tel I n'existe pas C IF(ITYPE.EQ.' ') THEN C ------ ON RENVOIE DANS ITYPE, LE TYPE CORRESPONDANT A IFILE C ------ A CONDITION QUE IFILE SOIT BON IF (IFILE.LT.1.OR.IFILE.GT.NPOSSI) THEN IFILE = -NPOSSI ELSE ITYPE = IPOSSI(IFILE) ENDIF ELSE C ------ ON RENVOIE DANS IFILE,LE NUMERO CORRESPONDANT AU TYPE ITYPE DO 3 I=1,NPOSSI IF(ITYPE.EQ.IPOSSI(I)) THEN IFILE=I RETURN ENDIF 3 CONTINUE IFILE = -NPOSSI ENDIF END
© Cast3M 2003 - Tous droits réservés.
Mentions légales