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

ABSPOSU2.m

Go to the documentation of this file.
  1. ABSPOSU2 ; IHS/FCS/DRS - copied for POS ; [ 09/12/2002 10:19 AM ]
  1. ;;1.0;PHARMACY POINT OF SALE;**3**;JUN 21, 2001;Build 38
  1. ;----------------------------------------------------------------------
  1. ;----------------------------------------------------------------------
  1. ;Standard FREETEXT and Numeric Functions
  1. ;----------------------------------------------------------------------
  1. ;Standard FREETEXT PROMPT:
  1. ;
  1. ;Parameters:
  1. ; PROMPT = Text to be displayed before read
  1. ; DFLT = DEFAULT text
  1. ; OPT = 1 - Answer optional 0 - Answer required
  1. ; MINLEN = Minimum length of response text
  1. ; MAXLEN = Maximum length of response text
  1. ; TIMEOUT = Number of seconds
  1. ;
  1. ;Returns:
  1. ; <null> = No response <^> - Up-arrow entered
  1. ; <-1> = Timeout occurred <^^> - Two up-arrows entered
  1. ; <text> = Response text
  1. ;---------------------------------------------------------------------
  1. FREETEXT(PROMPT,DFLT,OPT,MINLEN,MAXLEN,TIMEOUT) ;EP
  1. ;
  1. N XDATA,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
  1. ;
  1. Q:$G(PROMPT)="" ""
  1. S:$G(MINLEN)="" MINLEN=0
  1. S:$G(MAXLEN)="" MAXLEN=245
  1. ;
  1. S $P(DIR(0),"^",1)="FA"_$S(OPT=1:"O",1:"")
  1. S $P(XDATA,":",1)=MINLEN
  1. S $P(XDATA,":",2)=MAXLEN
  1. S $P(DIR(0),"^",2)=XDATA
  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 Numeric PROMPT:
  1. ;
  1. ;Parameters:
  1. ; PROMPT = Text to be displayed before read
  1. ; DFLT = DEFAULT Numeric
  1. ; OPT = 1 - Answer optional 0 - Answer required
  1. ; MINNUM = Minimum numeric value
  1. ; MAXNUM = Maximum numeric value
  1. ; MAXDEC = Maximum number of decimal places allowed
  1. ; TIMEOUT = Number of seconds
  1. ;
  1. ;Returns:
  1. ; <null> = No response <^> - Up-arrow entered
  1. ; <-1> = Timeout occurred <^^> - Two up-arrows entered
  1. ; <Numeric> = Response Numeric
  1. ;---------------------------------------------------------------------
  1. NUMERIC(PROMPT,DFLT,OPT,MINNUM,MAXNUM,MAXDEC,TIMEOUT) ;EP
  1. ;
  1. N XDATA,DIR,X,Y,DTOUT,DUOUT,DIRUT,DIROUT
  1. ;
  1. Q:$G(PROMPT)="" ""
  1. ;
  1. S $P(DIR(0),"^",1)="NA"_$S(OPT=1:"O",1:"")
  1. S $P(XDATA,":",1)=$G(MINNUM)
  1. S $P(XDATA,":",2)=$G(MAXNUM)
  1. S $P(XDATA,":",3)=$G(MAXDEC)
  1. S $P(DIR(0),"^",2)=XDATA
  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)