Home   Package List   Routine Alphabetical List   Global Alphabetical List   FileMan Files List   FileMan Sub-Files List   Package Component Lists   Package-Namespace Mapping  
Routine: ABSPOSU3

ABSPOSU3.m

Go to the documentation of this file.
  1. ABSPOSU3 ; IHS/FCS/DRS - copied for POS ; [ 09/12/2002 10:19 AM ]
  1. ABSUD003 ;;1.0;PHARMACY POINT OF SALE;**3**;JUN 21, 2001;Build 38
  1. ;----------------------------------------------------------------------
  1. ;----------------------------------------------------------------------
  1. ;Standard SET and YESNO Functions
  1. ;----------------------------------------------------------------------
  1. ;Standard SET PROMPT:
  1. ;
  1. ;Parameters:
  1. ; PROMPT = Text to be displayed before read
  1. ; DFLT = DEFAULT choice (external format)
  1. ; OPT = 1 - Answer optional 0 - Answer required
  1. ; DISPLAY = V - Vertical display H - Horizontal display
  1. ; N - No display
  1. ; CHOICES = <code>:<choice><code>:<choice>.....
  1. ; TIMEOUT = Number of seconds
  1. ;
  1. ;Returns:
  1. ; <null> = No response <^> - Up-arrow entered
  1. ; <-1> = Timeout occurred <^^> - Two up-arrows entered
  1. ; <Choice> = Response choice (internal format)
  1. ;---------------------------------------------------------------------
  1. SET(PROMPT,DFLT,OPT,DISPLAY,CHOICES,TIMEOUT) ;EP
  1. ;
  1. N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
  1. ;
  1. Q:$G(PROMPT)="" ""
  1. Q:$G(DISPLAY)="" ""
  1. Q:$G(CHOICES)="" ""
  1. ;
  1. S $P(DIR(0),"^",1)="S"_$S(DISPLAY="H":"B",DISPLAY="N":"A",1:"")_$S(OPT=1:"O",1:"")
  1. S $P(DIR(0),"^",2)=CHOICES
  1. S DIR("A")=PROMPT
  1. S:$G(DFLT)'="" DIR("B")=DFLT
  1. S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT
  1. D ^DIR
  1. Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y)
  1. ;---------------------------------------------------------------------
  1. ;Standard Yes/No PROMPT:
  1. ;
  1. ;Parameters:
  1. ; PROMPT = Text to be displayed before read
  1. ; DFLT = YES, NO or <Null>
  1. ; OPT = 1 - Answer optional 0 - Answer required
  1. ; TIMEOUT = Number of seconds
  1. ;
  1. ;Returns:
  1. ; <null> = No response <^> - Up-arrow entered
  1. ; <-1> = Timeout occurred <^^> - Two up-arrows entered
  1. ; <0> = No <1> - Yes
  1. ;---------------------------------------------------------------------
  1. YESNO(PROMPT,DFLT,OPT,TIMEOUT) ;EP
  1. ;
  1. N DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
  1. ;
  1. Q:$G(PROMPT)="" ""
  1. ;
  1. S $P(DIR(0),"^",1)="Y"_$S(OPT=1:"O",1:"")
  1. S DIR("A")=PROMPT
  1. S:$G(DFLT)'="" DIR("B")=DFLT
  1. S:+$G(TIMEOUT)>0 DIR("T")=TIMEOUT
  1. D ^DIR
  1. Q $S($G(DTOUT)=1:-1,$G(DIROUT)=1:"^^",$G(DUOUT)=1:"^",1:Y)