Annotation of freem_fileman/DIR02.m, revision 1.1
1.1 ! snw 1: DIR02 ;SFISC/MKO-MULTILINE FIELD EDITOR ;03:40 PM 12 Oct 1994
! 2: ;;21.0;VA FileMan;;Dec 28, 1994
! 3: ;Per VHA Directive 10-93-142, this routine should not be modified.
! 4: EN ;
! 5: N DIR0FL,DIR0LN,DIR0NC,DIR0QU
! 6: X DDGLZOSF("EOFF"),DDGLZOSF("TRMON")
! 7: W $S('$D(DDGLVAN):$P(DDGLVID,DDGLDEL,6),1:"")
! 8: S DIR0QU=0
! 9: ;
! 10: D INIT,^DIR03
! 11: W $P(DDGLVID,DDGLDEL,7)
! 12: Q
! 13: ;
! 14: SM ;ScreenMan's entry point, called from ^DIR01
! 15: N DIR0DN,DIR0FL,DIR0LN,DIR0NC,DIR0NL
! 16: S DIR0R=IOSL-6,DIR0S=0,DIR0L=IOM-1,DIR0NL=4
! 17: ;
! 18: D INIT,^DIR03
! 19: ;
! 20: ;Restore command area
! 21: S DY=DIR0R,DX=DIR0S X IOXY
! 22: W $P(DDGLVID,DDGLDEL,10)_$P(DDGLCLR,DDGLDEL,3)
! 23: ;
! 24: S DY=IOSL-1
! 25: I DDO D
! 26: . S DX=0 X IOXY W "COMMAND:"
! 27: . S DX=IOM-35 X IOXY W "Press <PF1>H for help"
! 28: S DX=IOM-8 X IOXY
! 29: W $S('$D(DDGLVAN):$P(DDGLVID,DDGLDEL,6),1:"")_$S($G(DIR0("REP")):"Replace",1:"Insert ")_$P(DDGLVID,DDGLDEL,10)
! 30: ;
! 31: ;Restore variables
! 32: S (DY,DIR0R)=$P(DIR0,U),(DX,DIR0S)=$P(DIR0,U,2),DIR0L=$P(DIR0,U,3)
! 33: S DIR0F=DIR0S+DIR0L
! 34: S DIR0SP=$J("",DIR0L) S:$G(DDGLVAN) DIR0SP=$TR(DIR0SP," ","_")
! 35: I DIR0A]"","^?"[$E(DIR0A) S DIR0QT=1
! 36: ;
! 37: ;Repaint answer
! 38: X IOXY
! 39: W:'$D(DDGLVAN) $P(DDGLVID,DDGLDEL,6)
! 40: I DIR0C>DIR0L D
! 41: . W $E(DIR0A,DIR0C-DIR0L+1,DIR0C)_$E(DIR0SP,DIR0C>$L(DIR0A))
! 42: . S DX=DIR0F-1
! 43: E D
! 44: . W $E(DIR0A,1,DIR0L)_$E(DIR0SP,$L(DIR0A)+1,999)
! 45: . S DX=DIR0S+DIR0C-1
! 46: X IOXY
! 47: K DTOUT
! 48: Q
! 49: ;
! 50: INIT ;Setup
! 51: K DTOUT
! 52: S:DIR0M<$L(DIR0A) DIR0M=$L(DIR0A)
! 53: S DIR0SP=$J("",DIR0L) S:$G(DDSVAN) DIR0SP=$TR(DIR0SP," ","_")
! 54: ;
! 55: F DIR0LN=1:1:DIR0NL D
! 56: . S DY=DIR0R+DIR0LN-1,DX=DIR0S X IOXY
! 57: . S X=$E(DIR0A,DIR0LN-1*DIR0L+1,DIR0LN*DIR0L)
! 58: . W X_$E(DIR0SP,$L(X)+1,999)
! 59: ;
! 60: S:DIR0NL*DIR0L-1<DIR0M DIR0M=DIR0NL*DIR0L-1
! 61: S DIR0NL=DIR0M\DIR0L+1,DIR0NC=DIR0M#DIR0L
! 62: S DIR0F=DIR0S+DIR0L-1,DIR0FL=DIR0S+DIR0NC-1
! 63: S DIR0SV=$G(DIR0("L")),DIR0DN=0
! 64: ;
! 65: S:$G(DIR0C)<1 DIR0C=1
! 66: S:DIR0C-1>DIR0M DIR0C=DIR0M+1
! 67: S DIR0LN=DIR0C\DIR0L+1
! 68: S DY=DIR0R+DIR0LN-1,DX=DIR0S+(DIR0C#DIR0L)-1
! 69: X IOXY
! 70: Q
! 71: ;
! 72: KILL ;Cleanup all variables
! 73: D KILL^DDGLIB0()
! 74: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>