ampint
C AMPINT SOURCE CB215821 17/03/03 21:15:00 9330 C Changement interactif (dans la fenetre de trace) de l'amplification C d'une deformee lors de son trace C L'appel est fait par PRTRAC C C NDEF (E) : nombre de deformees du trace C SDEF (E/S) : SEGMENT contenant les amplitudes imposees par l'utilisateur C en interactif C IIMP (S) : numero de la deformee dont on souhaite modifier C l'amplification C IMPLICIT INTEGER(I-N) -INC PPARAM -INC CCOPTIO -INC SMTEXTE REAL X(5),Y(5),VCHC(70) REAL*8 AMPLLU CHARACTER*2 TEXT1 LOGICAL ZOK SEGMENT SDEF REAL AMPIMP(NDEF) ENDSEGMENT SDEF=IPDEF NDEF=AMPIMP(/1) C----------------------------------------------------------------------- C PARTIE 1 : CHOIX DU NUMERO DE LA DEFORMEE --> IIMP C----------------------------------------------------------------------- C C Si plusieurs deformees, on affiche un menu de choix interactif du C numero de la deformee a modifier IF (NDEF.GT.1) THEN 200 CONTINUE DO I=1,6 IF (I.LE.NDEF) THEN ELSE ENDIF ENDDO CALL TRMESS('Choisissez le numero de la deformee') CALL TRDIG(XP,YP,INCLE) ICLE=INCLE+1 C Cas ICLE = 1 : bouton Saisie, acquisition au clavier IF (ICLE.EQ.1) THEN ZOK=.TRUE. WRITE (TEXT1,'(i2)') NDEF 300 CONTINUE IF (ZOK) THEN CALL TRGET('Saisissez le numero de la deformee '// & '(entre 1 et '//TEXT1//') : ',TEXT) ELSE CALL TRGET('Erreur ! Saisissez a nouveau le numero de '// & ' la deformee (entre 1 et '//TEXT1//') : ',TEXT) ENDIF SEGINI MTEXTE MTEXT=TEXT NCART=8 SEGSUP MTEXTE C Cas ou le numero acquis est hors des bornes (1,NDEF) IF ((IIMP.LT.1).OR.(IIMP.GT.NDEF)) THEN ZOK=.FALSE. GOTO 300 ENDIF C Cas ICLE = 2,3,4,5,6,7 : boutons avec numeros proposes par defaut ELSEIF ((ICLE.GE.2).AND.(ICLE.LE.7)) THEN IF (ICLE.GT.(NDEF+1)) GOTO 200 IIMP=ICLE-1 C Autres cas : retour au debut du menu ELSE GOTO 200 ENDIF C Si l'on a une seule deformee, elle est toute trouvee ! ELSE IIMP=1 ENDIF C C----------------------------------------------------------------------- C PARTIE 2 : CHOIX DE LA VALEUR DE L'AMPLIFICATION --> AMPIMP(IIMP) C----------------------------------------------------------------------- C C Menu pour le choix de la nouvelle amplification 400 CONTINUE C On propose 5 valeurs d'amplification automatiquement DO I=1,5 XAMP = AMPIMP(IIMP)*(2.**(i-3)) ENDDO C On rappelle l'amplification choisie WRITE (TEXT,fmt='(1pe8.2)') AMPIMP(IIMP) WRITE (TEXT1,'(i2)') IIMP CALL TRMESS('Deformee numero '//TEXT1//', '// & 'nouvelle amplification : '//TEXT) C Recherche du bouton clique par l'utilisateur CALL TRDIG(XP,YP,INCLE) ICLE=INCLE+1 C Cas ICLE = 1 : bouton OK, on quitte le programme IF (ICLE.EQ.1) THEN VCHC(IIMP)=AMPIMP(IIMP) GOTO 999 C Cas ICLE = 2 : bouton Saisie, acquisition au clavier ELSEIF (ICLE.EQ.2) THEN CALL TRGET('Saisissez l''amplification : ',TEXT) SEGINI MTEXTE MTEXT=TEXT NCART=8 SEGSUP MTEXTE IF (IRETOU.NE.0) AMPIMP(IIMP)=AMPLLU C Cas ICLE = 3,4,5,6,7 : boutons avec valeurs proposees par defaut ELSEIF ((ICLE.GE.3).AND.(ICLE.LE.7)) THEN AMPIMP(IIMP)=AMPIMP(IIMP)*(2.**(ICLE-5)) ENDIF C Ensuite, on repart au debut du menu GOTO 400 C C----------------------------------------------------------------------- C FIN DU PROGRAMME C----------------------------------------------------------------------- C 999 CONTINUE RETURN END
© Cast3M 2003 - Tous droits réservés.
Mentions légales