ABSPOSU5 ; IHS/FCS/DRS - utilities ; [ 09/12/2002 10:19 AM ]
;;1.0;PHARMACY POINT OF SALE;**3**;JUN 21, 2001;Build 38
Q
;----------------------------------------------------------------------
TOSCREEN() ;EP; True or False, is output to screen?
I $E(IOST)'="C" Q 0
I $D(ZTQUEUED) Q 0
I IOT'="TRM",IOT'="VTRM" Q 0
I $D(IO("S")) Q 0
Q 1
PRESSANY(NLF,TIMEOUT) ;EP
I '$$TOSCREEN Q
N X,I
S NLF=+$G(NLF)
S:+$G(TIMEOUT)=0 TIMEOUT=30
F I=1:1:NLF W !
;W "Press any key to continue: " R *X:TIMEOUT
I $$FREETEXT^ABSPOSU2("Press ENTER to continue: ",,1,1,1,300)
Q
;----------------------------------------------------------------------
;'Press the return key to continue of ^ to exit:' PROMPT
; See also $$EOPQ^ABSPOSU8
ENDPAGE(NLF,TIMEOUT) ;EP
I '$$TOSCREEN Q 1
N X,Y,I,DIR,DTOUT,DUOUT,DIRUT,DIROUT
S NLF=+$G(NLF)
F I=1:1:NLF W !
S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT
S DIR(0)="E"
D ^DIR
Q $S(Y="":-1,Y=0:"^",1:Y)
;----------------------------------------------------------------------
ENDRPT() ; EP
I $Q Q $$ENDRPT^ABSPOSU8
D ENDRPT^ABSPOSU8() Q
;=====================================================================
BYE ; EP
; Most routines should come here when they exit.
; Example: GOTO BYE^ABSPOSU3
; IN: FLGSTOP 1=user wanted out
;
I $G(FLGSTOP) W " < exit >" HANG 1
D ^%ZISC
Q
;=====================================================================
BOTTOM(LINES) ;07/26/96
; IN: lines (optional) = lines from the bottom (default=1)
; This line-feeds down to the bottom of the screen
;
Q:'$G(IOSL)
N X1,X2,J S LINES=$S($D(LINES):LINES,1:1)
S X1=($Y+2)
I X1>(IOSL-LINES) DO
. S X1=($Y+2)
S X2=(IOSL-X1) F J=1:1:X2 W !
Q
;=================================================================
ABSPOSU5 ; IHS/FCS/DRS - utilities ; [ 09/12/2002 10:19 AM ]
+1 ;;1.0;PHARMACY POINT OF SALE;**3**;JUN 21, 2001;Build 38
+2 QUIT
+3 ;----------------------------------------------------------------------
TOSCREEN() ;EP; True or False, is output to screen?
+1 IF $EXTRACT(IOST)'="C"
QUIT 0
+2 IF $DATA(ZTQUEUED)
QUIT 0
+3 IF IOT'="TRM"
IF IOT'="VTRM"
QUIT 0
+4 IF $DATA(IO("S"))
QUIT 0
+5 QUIT 1
PRESSANY(NLF,TIMEOUT) ;EP
+1 IF '$$TOSCREEN
QUIT
+2 NEW X,I
+3 SET NLF=+$GET(NLF)
+4 IF +$GET(TIMEOUT)=0
SET TIMEOUT=30
+5 FOR I=1:1:NLF
WRITE !
+6 ;W "Press any key to continue: " R *X:TIMEOUT
+7 IF $$FREETEXT^ABSPOSU2("Press ENTER to continue: ",,1,1,1,300)
+8 QUIT
+9 ;----------------------------------------------------------------------
+10 ;'Press the return key to continue of ^ to exit:' PROMPT
+11 ; See also $$EOPQ^ABSPOSU8
ENDPAGE(NLF,TIMEOUT) ;EP
+1 IF '$$TOSCREEN
QUIT 1
+2 NEW X,Y,I,DIR,DTOUT,DUOUT,DIRUT,DIROUT
+3 SET NLF=+$GET(NLF)
+4 FOR I=1:1:NLF
WRITE !
+5 IF +$GET(TIMEOUT)>0
SET DIR("T")=TIMEOUT
+6 SET DIR(0)="E"
+7 DO ^DIR
+8 QUIT $SELECT(Y="":-1,Y=0:"^",1:Y)
+9 ;----------------------------------------------------------------------
ENDRPT() ; EP
+1 IF $QUIT
QUIT $$ENDRPT^ABSPOSU8
+2 DO ENDRPT^ABSPOSU8()
QUIT
+3 ;=====================================================================
BYE ; EP
+1 ; Most routines should come here when they exit.
+2 ; Example: GOTO BYE^ABSPOSU3
+3 ; IN: FLGSTOP 1=user wanted out
+4 ;
+5 IF $GET(FLGSTOP)
WRITE " < exit >"
HANG 1
+6 DO ^%ZISC
+7 QUIT
+8 ;=====================================================================
BOTTOM(LINES) ;07/26/96
+1 ; IN: lines (optional) = lines from the bottom (default=1)
+2 ; This line-feeds down to the bottom of the screen
+3 ;
+4 IF '$GET(IOSL)
QUIT
+5 NEW X1,X2,J
SET LINES=$SELECT($DATA(LINES):LINES,1:1)
+6 SET X1=($Y+2)
+7 IF X1>(IOSL-LINES)
Begin DoDot:1
+8 SET X1=($Y+2)
End DoDot:1
+9 SET X2=(IOSL-X1)
FOR J=1:1:X2
WRITE !
+10 QUIT
+11 ;=================================================================