Télécharger eclobj.eso

Retour à la liste

Numérotation des lignes :

eclobj
  1. C ECLOBJ SOURCE PASCAL 22/06/10 21:15:03 11377
  2. SUBROUTINE ECLOBJ(IPLOBJ,IRESU)
  3. ************************************************************************
  4. *
  5. * E C L O B J
  6. * -----------
  7. *
  8. * FONCTION: IMPRESSION D'UN OBJET "LISTOBJE"
  9. * ---------
  10. *
  11. ************************************************************************
  12.  
  13. IMPLICIT INTEGER(I-N)
  14. IMPLICIT REAL*8(A-H,O-Z)
  15.  
  16. PARAMETER (NMOT = 6)
  17. CHARACTER*24 MFORM
  18.  
  19. -INC PPARAM
  20. -INC CCOPTIO
  21. -INC SMLOBJE
  22.  
  23. NMOT1 = NMOT
  24.  
  25. MLOBJE = IPLOBJ
  26. SEGACT,MLOBJE
  27. NBOBJ1 = LISOBJ(/1)
  28.  
  29. INTERR(1) = IPLOBJ
  30. INTERR(2) = NBOBJ1
  31. MOTERR(1:8) = TYPOBJ
  32.  
  33. C LISTE VIDE
  34. IF (NBOBJ1.EQ.0) THEN
  35. CALL ERREUR(-383)
  36. GOTO 999
  37. ENDIF
  38.  
  39. C DEFINITION DES FORMATS SELON LE CAS
  40. IF (TYPOBJ.EQ.'POINT ') THEN
  41. CALL ERREUR(-382)
  42. NMOT1 = 10
  43. WRITE (MFORM,FMT='("(",I1,"(1x,I7))")') NMOT1
  44. ELSE
  45. CALL ERREUR(-381)
  46. WRITE (MFORM,FMT='("(",I1,"(I12))")') NMOT1
  47. ENDIF
  48. C WRITE (6,*) MFORM
  49.  
  50. C OPTION "RESU" ?
  51. IF (IRESU.EQ.1) NBOBJ1 = MIN(NBOBJ1,10)
  52.  
  53. C BOUCLE SUR LES OBJETS PAR PAQUET DE NMOT1
  54. I1 = 1
  55. N1 = MIN(NBOBJ1,NMOT1)
  56. 1 CONTINUE
  57. WRITE(IOIMP,MFORM) (LISOBJ(IP),IP=I1,N1)
  58. IF (N1.GE.NBOBJ1) GOTO 999
  59. I1 = I1 + NMOT1
  60. N1 = MIN(NBOBJ1,N1+NMOT1)
  61. GOTO 1
  62.  
  63. C SORTIE
  64. 999 CONTINUE
  65.  
  66. RETURN
  67. END
  68.  
  69.  
  70.  
  71.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales