| [613] | 1 | LA7SBCR ;DALOI/JMC - Shipping Barcode Reader Utility ; 7 Feb 1997 | 
|---|
|  | 2 | ;;5.2;AUTOMATED LAB INSTRUMENTS;**27,46**;Sep 27, 1994 | 
|---|
|  | 3 | Q | 
|---|
|  | 4 | ; | 
|---|
|  | 5 | BAR(Y) ; Ask user if utilizing a barcode reader | 
|---|
|  | 6 | ; Returns -1 = user aborted | 
|---|
|  | 7 | ;          0 = No | 
|---|
|  | 8 | ;          1 = Yes | 
|---|
|  | 9 | ; | 
|---|
|  | 10 | N DIR,DIRUT,DTOUT,DUOUT,X,Y | 
|---|
|  | 11 | S DIR(0)="Y0",DIR("A")="Are you using a barcode reader",DIR("B")="YES" | 
|---|
|  | 12 | D ^DIR | 
|---|
|  | 13 | I $G(DIRUT) Q -1 | 
|---|
|  | 14 | Q Y | 
|---|
|  | 15 | ; | 
|---|
|  | 16 | RD(LA7SDP,LA7CASE) ; Read input from barcode reader. | 
|---|
|  | 17 | ; Input | 
|---|
|  | 18 | ;   LA7SDP=array containing default prompt to display | 
|---|
|  | 19 | ;   LA7CASE=0 return scanned text as barcoded | 
|---|
|  | 20 | ;          =1 return scanned text in upper case. | 
|---|
|  | 21 | ;          =2 return scanned text in lower case. | 
|---|
|  | 22 | ; | 
|---|
|  | 23 | ; Returns | 
|---|
|  | 24 | ;        Y=1^barcode value. | 
|---|
|  | 25 | ;         =0 if user quits/timeouts | 
|---|
|  | 26 | ;         =-1 if invalid read | 
|---|
|  | 27 | ; | 
|---|
|  | 28 | N DIR,DIRUT,DTOUT,DUOUT,I,LA7Y,X,Y | 
|---|
|  | 29 | I $G(LA7SDP)="" S LA7SDP="Scan barcode" | 
|---|
|  | 30 | S LA7CASE=+$G(LA7CASE) | 
|---|
|  | 31 | S I=0 | 
|---|
|  | 32 | F  S I=$O(LA7SDP(I)) Q:'I  S DIR("A",I)=LA7SDP(I) | 
|---|
|  | 33 | S DIR("A")=LA7SDP | 
|---|
|  | 34 | S DIR(0)="FUO^3:245" | 
|---|
|  | 35 | D ^DIR | 
|---|
|  | 36 | I $D(DIRUT) Q 0 ; User quit | 
|---|
|  | 37 | I Y="" Q -1 ; Invalid read | 
|---|
|  | 38 | S LA7Y=Y | 
|---|
|  | 39 | I LA7CASE=1 S LA7Y=$$UP^XLFSTR(LA7Y) | 
|---|
|  | 40 | I LA7CASE=2 S LA7Y=$$LOW^XLFSTR(LA7Y) | 
|---|
|  | 41 | Q "1^"_LA7Y | 
|---|
|  | 42 | ; | 
|---|
|  | 43 | DT(X) ; Validate date/time | 
|---|
|  | 44 | N %DT,Y | 
|---|
|  | 45 | S %DT="ST" D ^%DT | 
|---|
|  | 46 | I Y<1 S Y="" | 
|---|
|  | 47 | Q Y | 
|---|