Annotation of freem_fileman/DDSMSG.m, revision 1.1.1.1
1.1 snw 1: DDSMSG ;SFISC/MKO-PRINT MESSAGES ;02:44 PM 9 Nov 1994
2: ;;21.0;VA FileMan;;Dec 28, 1994
3: ;Per VHA Directive 10-93-142, this routine should not be modified.
4: ;
5: ERR ;Print "DIERR" messages in help box
6: N DDSE,DDSL,DDSLMT,DDSN
7: K DDH,DDQ
8: S DDSLMT=$G(DDC,15),DDSE=0
9: ;
10: W $C(7)
11: S DDSN=0
12: F S DDSN=$O(^TMP("DIERR",$J,DDSN)) Q:'DDSN!DDSE D
13: . S DDSL=0
14: . F S DDSL=$O(^TMP("DIERR",$J,DDSN,"TEXT",DDSL)) Q:'DDSL!DDSE D
15: .. D LD($G(^TMP("DIERR",$J,DDSN,"TEXT",DDSL)),"!")
16: .. I DDH'<DDSLMT D SC^DDSU S:$D(DTOUT)!($D(DUOUT)) DDSE=1
17: ;
18: I $G(DDH) S:DDH(1,"T")?1.C DDH(1,"T")="" D SC^DDSU
19: S DDSKM=1
20: K DIERR,^TMP("DIERR",$J)
21: Q
22: ;
23: HLP(DDSG) ;Print messages from @DDSG in help area
24: N DDSE,DDSL,DDSLMT,DDST
25: S:$G(DDSG)="" DDSG=$NA(@DDSREFT@("HLP"))
26: ;
27: K DDH
28: I $D(DDSID),DY-1>DDSHBX!$X D SETDDH
29: S DDSLMT=$G(DDC,15),(DDSE,DDSL)=0
30: ;
31: F S DDSL=$O(@DDSG@(DDSL)) Q:'DDSL!DDSE D
32: . S DDST=$G(@DDSG@(DDSL))
33: . I DDST="$$EOP" S DDH=$G(DDH)+1,DDH(DDH,"E")=""
34: . E D LD(DDST,$G(@DDSG@(DDSL,"F"),"!"))
35: . I DDH'<DDSLMT D SC^DDSU S:$D(DTOUT)!($D(DUOUT)) DDSE=1
36: ;
37: I $G(DDH) S:DDH(1,"T")?1.C DDH(1,"T")="" D SC^DDSU
38: K:DDSG=$NA(@DDSREFT@("HLP")) @DDSG
39: S:'$D(DDSID) DDSKM=1
40: Q
41: ;
42: WP(DDSR) ;Print the contents of a wp field @DDSR in help area
43: N DDSE,DDSL,DDSLMT
44: ;
45: K DDH
46: I $D(DDSID),DY-1>DDSHBX!$X D SETDDH
47: S DDSLMT=$G(DDC,15),(DDSE,DDSL)=0
48: ;
49: F S DDSL=$O(@DDSR@(DDSL)) Q:'DDSL!DDSE D
50: . D LD($G(@DDSR@(DDSL,0)),$G(@DDSR@(DDSL,"F"),"!"))
51: . I DDH'<DDSLMT D SC^DDSU S:$D(DTOUT)!($D(DUOUT)) DDSE=1
52: ;
53: I $G(DDH) S:DDH(1,"T")?1.C DDH(1,"T")="" D SC^DDSU
54: S:'$D(DDSID) DDSKM=1
55: Q
56: ;
57: MSG(DDSMSG,DDSFLG,DDSFMT) ;Print local var or array DDSMSG in help area
58: ;DDSFLG [ 1 : Write bell
59: ;DDSFMT : Format if one line is sent
60: N DDSL
61: K DDH
62: I $D(DDSID),DY-1>DDSHBX!$X D SETDDH
63: ;
64: I $D(DDSMSG)=1 D
65: . D LD(DDSMSG,$S($G(DDSFMT)]"":DDSFMT,1:"!"))
66: ;
67: E S DDSL=0 F S DDSL=$O(DDSMSG(DDSL)) Q:'DDSL D
68: . D LD($G(DDSMSG(DDSL)),$G(DDSMSG(DDSL,"F"),"!"))
69: Q:'$G(DDH)
70: ;
71: I $G(DDH) D
72: . S:DDH(1,"T")?1.C DDH(1,"T")=""
73: . S:$G(DDSFLG)[1 DDH(1,"T")=$C(7)_DDH(1,"T")
74: . D SC^DDSU
75: S:'$D(DDSID) DDSKM=1
76: Q
77: ;
78: SETDDH ;Setup DDH and DDQ for identifiers and executable help
79: ;that called EN^DDIOL
80: S DDH=1
81: S DDH(1,"T")=$TR($J("",$X)," ",$C(0))
82: S DDQ=$S(DY>(IOSL-1):IOSL-1,1:DY)-1_U_$X
83: Q
84: ;
85: LD(S,F) ;Load string S with format F into DDH array
86: N A,C,J,L
87: S DDH=+$G(DDH)
88: F J=1:1:$L(F,"!")-1 S DDH=DDH+1,DDH(DDH,"T")=""
89: S:'DDH DDH=1
90: S:F["?" @("C="_$P(F,"?",2))
91: S L=$G(DDH(DDH,"T"))
92: S S=L_$J("",$G(C)-$L(L))_S
93: ;
94: D WRAP(S,.A,IOM-1)
95: S DDH=DDH-1
96: F A=1:1:A S DDH=$G(DDH)+1,DDH(DDH,"T")=A(A)
97: Q
98: ;
99: WRAP(L,A,M) ;Wrap line at word boundaries
100: ; L = Line of text
101: ; M = Margin width
102: ;Return:
103: ; A = Number of lines
104: ; A(n) = Array of text
105: ;
106: S:'$G(M) M=$S($G(IOM):IOM-5,1:75)
107: N I,N
108: S N=0
109: F I=$L(L," "):-1:1 D Q:L=""
110: . I I=1 S N=N+1,A(N)=$E(L,1,M),L=$E(L,M+1,999) Q
111: . I $L($P(L," ",1,I))'>M D
112: .. S N=N+1,A(N)=$P(L," ",1,I),L=$P(L," ",I+1,999)
113: S A=N
114: Q
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>