| [613] | 1 | ENJINJ3 ;(WASH ISC)/JA/TJK-Screen Input ;2.26.97
 | 
|---|
 | 2 |  ;;7.0;ENGINEERING**35**;;Aug 17, 1993
 | 
|---|
 | 3 |  ;  Modified with **35** to handle escape sequences (ex: arrow keys)
 | 
|---|
 | 4 | Z ;
 | 
|---|
 | 5 |  S DJSM=0,DJLG=+DJJ(V)+1
 | 
|---|
 | 6 |  D INITKB^XGF($C(9,13)) S X=$$READ^XGF("") S DJZ='$D(DTOUT) S:'DJZ X="^"
 | 
|---|
 | 7 |  I X="",$G(XGRT)]"" D
 | 
|---|
 | 8 |  . ; can only use jump navigation when data not entered in field
 | 
|---|
 | 9 |  . I "UP^LEFT"[XGRT D  Q
 | 
|---|
 | 10 |  . . ; jump to previous field that is not read-only
 | 
|---|
 | 11 |  . . N I,J,K
 | 
|---|
 | 12 |  . . S I=V,K=0 F  S I=$O(^ENG(6910.9,DJN,1,"A",I),-1) Q:I<1  D  Q:K
 | 
|---|
 | 13 |  . . . S J=$O(^ENG(6910.9,DJN,1,"A",I,0))
 | 
|---|
 | 14 |  . . . I '$P($G(^ENG(6910.9,DJN,1,J,0)),U,7) S K=I
 | 
|---|
 | 15 |  . . S X="^"_$S(K:K,1:V)
 | 
|---|
 | 16 |  . I XGRT="PREV" S X="^U" Q
 | 
|---|
 | 17 |  . I XGRT="NEXT" S X="^D" Q
 | 
|---|
 | 18 |  S:X="" DJSM=1
 | 
|---|
 | 19 |  D RESETKB^XGF
 | 
|---|
 | 20 |  ;
 | 
|---|
 | 21 | Z1 I $L(X)>(DJLG-1) W @IOBS," ",*7 X XY S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="" W V(V) W:$D(DJDB) DJDB K DJDB X XY G Z
 | 
|---|
 | 22 |  I X?1"^".E!(X?1"?".E) S:'$D(V(V)) V(V)="" D B:V(V)'="",D:V(V)="" X XY W @DJHIN X XY W V(V) W:$D(DJDB) DJDB W @DJLIN K DJDB X XY Q
 | 
|---|
 | 23 |  Q
 | 
|---|
 | 24 | N R !,"Repaint screen(Y/N): N//",DJX:DTIME I DJX["?" W !,*7,"Please enter 'Y'es or 'N'o." G N
 | 
|---|
 | 25 |  Q:"Yy"'[$E(DJX)!(DJX="")  S DJSV=V D N^ENJDPL S V=DJSV Q
 | 
|---|
 | 26 | B S $P(DJDB," ",DJJ(V)-$L(V(V)))="" Q
 | 
|---|
 | 27 | D S $P(DJDB,".",DJJ(V))="." Q
 | 
|---|