



      SUBROUTINE I1PROMPT (INTEXT,IIN)



















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INTEGER       IIN,  GVFLEN
      CHARACTER*(*) INTEXT
      CHARACTER*80  LLINE, LLINE2







      IF (GVFLEN(INTEXT).EQ.0) THEN
         CALL GVSSTX (LLINE2,'?M3843')
      ELSE
         CALL GVSSTX (LLINE2,INTEXT)
      END IF
      IF (GVFLEN(LLINE2).GT.50) THEN
         CALL GVSTT6 ('?M3842')
         CALL GVSKIL
      END IF



      CALL GVSFMT ('?FMT1205')
      CALL GVSCTB (LLINE,80)
      WRITE (LLINE,FMT,ERR=999) LLINE2(1:GVFLEN(LLINE2)),IIN
      CALL GVSRDB (LLINE)



      CALL GVSSTX (VPROMPT,LLINE)
      GOTO 998



  999 CONTINUE
      CALL GVSEIW ('I1PROMPT')



  998 CONTINUE


      RETURN
      END
      SUBROUTINE I1XPROMPT (INTEXT,IIN)


















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INTEGER       GVFLEN, IONE, LENTXT, IIN
      CHARACTER*(*) INTEXT
      CHARACTER*80  LLINE, LLINE2, TEXT







      CALL GVSSTX (TEXT,INTEXT)
      IF (TEXT(1:1).EQ.'?') CALL GETTEXT (TEXT)



      LENTXT=MAX(1,GVFLEN(TEXT))
      CALL GVSCTB (LLINE2,80)
      LLINE2(1:LENTXT)=TEXT(1:LENTXT)



      IONE=1
      CALL GVSFMT ('?FMT1206')
      CALL GVSCTB (LLINE,80)
      WRITE (LLINE,FMT,ERR=999) LLINE2(1:50),IONE,IIN
      CALL GVSRDB (LLINE)
      LENTXT=GVFLEN(LLINE)



      CALL GVSSTX (VPROMPT,LLINE)
      GOTO 998



  999 CONTINUE
      CALL GVSEIW ('I1XPROMPT')



  998 CONTINUE


      RETURN
      END
      SUBROUTINE R1PROMPT (INTEXT,RIN)























      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INTEGER       GVFLEN, LENTXT
      REAL          RIN
      CHARACTER*(*) INTEXT
      CHARACTER*80  LLINE, LLINE2, TEXT







      CALL GVSSTX (TEXT,INTEXT)
      IF (TEXT(1:1).EQ.'?') CALL GETTEXT (TEXT)



      LENTXT=MAX(1,GVFLEN(TEXT))
      CALL GVSCTB (LLINE2,80)
      LLINE2(1:LENTXT)=TEXT(1:LENTXT)



      CALL GVSFMT ('?FMT1207')
      CALL GVSCTB (LLINE,80)
      WRITE (LLINE,FMT,ERR=999) LLINE2(1:50),RIN
      CALL GVSRDB (LLINE)
      LENTXT=GVFLEN(LLINE)



      CALL GVSSTX (VPROMPT,LLINE)
      GOTO 998



  999 CONTINUE
      CALL GVSEIW ('R1PROMPT')



  998 CONTINUE


      RETURN
      END
      SUBROUTINE IPROMPT (INTEXT)

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INTEGER       GVFLEN, LENTXT
      CHARACTER*(*) INTEXT
      CHARACTER*80  LLINE, TEXT







      CALL GVSSTX (TEXT,INTEXT)



      LENTXT=MAX(1,GVFLEN(TEXT))
      CALL GVSCTB (LLINE,80)
      LENTXT=MIN(GVFLEN(TEXT),70)
      IF (GVFLEN(INTEXT).LE.2) THEN
         CALL GVSSTX (LLINE(1:9),'WHAT IF> ')
         CALL GVSSTX (LLINE(10:LENTXT+9),TEXT(1:LENTXT))
      ELSE
         CALL GVSSTX (LLINE(1:LENTXT),TEXT(1:LENTXT))
      END IF
      LENTXT=MIN(GVFLEN(LLINE),80)



      CALL GVSSTX (VPROMPT,LLINE)





      RETURN
      END
      SUBROUTINE WPROMPT

















      IMPLICIT      NONE
      INCLUDE       'BIGINC.INC'
      INCLUDE       'IRIGRA.INC'
      INCLUDE       'VECTOR.INC'
      INCLUDE       'LANGUA.INC'
      INTEGER       OLDGRV
      LOGICAL       GVFFOP
      CHARACTER*10  LOCTXT(5)
      SAVE          LOCTXT
      DATA LOCTXT   /'WHAT IF>  ','EN DAN>   ','ALORS>    ',
     +               'QUE PASA> ','NA UND>   '/







      IF (LANGUAGE.EQ.'D') THEN
         CALL GVSSTX (VPROMPT,LOCTXT(2))
      ELSE IF (LANGUAGE.EQ.'F') THEN
         CALL GVSSTX (VPROMPT,LOCTXT(3))
      ELSE IF (LANGUAGE.EQ.'S') THEN
         CALL GVSSTX (VPROMPT,LOCTXT(4))
      ELSE IF (LANGUAGE.EQ.'G') THEN
         CALL GVSSTX (VPROMPT,LOCTXT(5))
      ELSE 
         CALL GVSSTX (VPROMPT,LOCTXT(1))
      END IF



      OLDGRV=NUMGRV
      IF (USE300.AND.WIFPAR(904).GT.0.AND.(.NOT.GVFFOP(IU54)))
     + CALL IRI000
      NUMGRV=OLDGRV





      RETURN
      END

