VistA-WorldVistAEHR/r/CAPACITY_MANAGEMENT_TOOLS-K.../KMPDUTL4.m

114 lines
3.8 KiB
Mathematica

KMPDUTL4 ;OAK/RAK; Reverse Video Header/Footer ;2/17/04 10:54
;;2.0;CAPACITY MANAGEMENT TOOLS;;Mar 22, 2002
;
CONTINUE(KMPDMSSG,KMPDLN,KMPDY) ;-- press return to continue
;---------------------------------------------------------------------
; KMPDMSSG. (optional) Message to display to user (if not defined then
; default message by ^DIR is used).
; KMPDLN... Lines to go down before printing
; KMPDY.... Return value: 0 - do not continue.
; 1 - continue.
; Access by reference.
;---------------------------------------------------------------------
;
S KMPDMSSG=$G(KMPDMSSG),KMPDLN=+$G(KMPDLN),KMPDY=0
;
; if not terminal continue without displaying message.
I $E(IOST,1,2)'="C-" S KMPDY=1 Q
;
N DIR,I,X,Y
S DIR(0)="EO"
S:KMPDMSSG]"" DIR("A")=KMPDMSSG
I KMPDLN F I=1:1:KMPDLN W !
D ^DIR
S KMPDY=+$G(Y)
;
Q
;
HDR(TITLE1,TITLE2) ;header
;---------------------------------------------------------------------
; clear screen and print header in reverse video
;
; if TITLE1 is not defined routine will quit
;---------------------------------------------------------------------
S TITLE1=$G(TITLE1),TITLE2=$G(TITLE2) Q:TITLE1']""
I $G(IORVON)']""!($G(IORVOFF)']"") N IORVON,IORVOFF,X D
.S X="IORVON;IORVOFF" D ENDR^%ZISS
S TITLE1=IORVON_" "_TITLE1_" "_IORVOFF
I TITLE2]"" S TITLE2=IORVON_" "_TITLE2_" "_IORVOFF
W @IOF
W !?(IOM-$L(TITLE1)/2),TITLE1
I TITLE2]"" W !?(IOM-$L(TITLE2)/2),TITLE2
Q
;
FTR(FOOTER,VALUE) ;print footer
;---------------------------------------------------------------------
; line feed to IOSL-3 and place message on screen
; if IOSL or IOM are not defined routine will quit
;
; FOOTER - text to appear at the bottom of the screen
; if footer is not defined then the message
; 'Press RETURN to continue, '^' to exit' will appear
;
; footer appears in the middle of the screen
;
; VALUE - value returned:
; "" - if IOSL or IOM are not defined
; 0 - if an uparrow '^' is entered
; 1 - if return is entered
;---------------------------------------------------------------------
;
S VALUE="" I '$G(IOSL)!('$G(IOM)) Q
N DIR,I,X,Y
I $G(FOOTER)']"" S FOOTER="Press RETURN to continue, '^' to exit"
I $G(IORVON)']""!($G(IORVOFF)']"") N IORVON,IORVOFF,X D
.S X="IORVON;IORVOFF" D ENDR^%ZISS
S FOOTER=IORVON_" "_FOOTER_" "_IORVOFF
S DIR(0)="EA",DIR("A")=$J(" ",(IOM-$L(FOOTER)/2))_FOOTER
F I=$Y:1:(IOSL-3) W !
D ^DIR S VALUE=Y
Q
;
PTNPSEL() ;-- extrinsic function - select prime time, non-prime time or both
;---------------------------------------------------------------------
; Return: 1^Prime Time
; 2^Non-Prime Time
; 3^Both Prime Time & Non-Prime Time
; "" - no selection made
;---------------------------------------------------------------------
N DIR,X,Y
S DIR(0)="SO^1:Prime Time;2:Non-Prime Time"
S DIR("A")="Select Time Frame",DIR("B")=1
S DIR("?",1)="Select one of the following:"
S DIR("?",2)=""
S DIR("?",3)=" PRIME TIME => Weekdays 8 am till 5 pm"
S DIR("?",4)=" - or -"
S DIR("?",5)=" NON-PRIME TIME => Weekdays after 5 pm and before 8 am"
S DIR("?")=" and Weekends all day"
D ^DIR
Q:$G(Y)=""!($G(Y)="^") ""
Q $S(Y:Y_"^"_$G(Y(0)),1:Y)
;
STRIP(TEXT) ;-- function to strip leading spaces from text string
;---------------------------------------------------------------------
; input TEXT = text string
;---------------------------------------------------------------------
;
N I,LEN
;
S LEN=$L(TEXT)
F I=1:1:LEN Q:$E(TEXT)'=" " D
.S TEXT=$E(TEXT,2,LEN)
;
Q TEXT
;
COMMA(TEXT) ;-- function to remove commas from text string
;---------------------------------------------------------------------
; input TEXT = text string
;---------------------------------------------------------------------
;
S TEXT=$TR(TEXT,",")
;
Q TEXT
;