| 1 | DDSMSG ;SFISC/MKO-PRINT MESSAGES ;3:14 PM  9 Feb 2001
 | 
|---|
| 2 |  ;;22.0;VA FileMan;**75**;Mar 30, 1999
 | 
|---|
| 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:$G(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,DDSNXTF,DDST
 | 
|---|
| 25 |  S:$G(DDSG)="" DDSG=$NA(@DDSREFT@("HLP"))
 | 
|---|
| 26 |  ;
 | 
|---|
| 27 |  K DDH
 | 
|---|
| 28 |  I $G(DDQ)-1=DDSHBX,'$X K DDQ
 | 
|---|
| 29 |  D:$G(DDQ)>DDSHBX SETDDH
 | 
|---|
| 30 |  S DDSLMT=$G(DDC,15),(DDSE,DDSL)=0
 | 
|---|
| 31 |  ;
 | 
|---|
| 32 |  F  S DDSL=$O(@DDSG@(DDSL)) Q:'DDSL!DDSE  D
 | 
|---|
| 33 |  . S DDST=$G(@DDSG@(DDSL))
 | 
|---|
| 34 |  . I DDST="$$EOP" S DDH=$G(DDH)+1,DDH(DDH,"E")=""
 | 
|---|
| 35 |  . E  D LD(DDST,$G(@DDSG@(DDSL,"F"),"!"))
 | 
|---|
| 36 |  . S DDSNXTF=$G(@DDSG@(DDSL+1,"F"),"!")
 | 
|---|
| 37 |  . I DDH'<DDSLMT,DDSNXTF["!"!(DDSNXTF'["?") D SC^DDSU S:$D(DTOUT)!($D(DUOUT)) DDSE=1
 | 
|---|
| 38 |  ;
 | 
|---|
| 39 |  I $G(DDH) S:$G(DDH(1,"T"))?1.C DDH(1,"T")="" D SC^DDSU
 | 
|---|
| 40 |  K:DDSG=$NA(@DDSREFT@("HLP")) @DDSG
 | 
|---|
| 41 |  S:'$D(DDSID) DDSKM=1
 | 
|---|
| 42 |  Q
 | 
|---|
| 43 |  ;
 | 
|---|
| 44 | WP(DDSR) ;Print the contents of a wp field @DDSR in help area
 | 
|---|
| 45 |  N DDSE,DDSL,DDSLMT,DDSNXTF
 | 
|---|
| 46 |  ;
 | 
|---|
| 47 |  K DDH
 | 
|---|
| 48 |  I $G(DDQ)-1=DDSHBX,'$X K DDQ
 | 
|---|
| 49 |  D:$G(DDQ)>DDSHBX SETDDH
 | 
|---|
| 50 |  S DDSLMT=$G(DDC,15),(DDSE,DDSL)=0
 | 
|---|
| 51 |  ;
 | 
|---|
| 52 |  F  S DDSL=$O(@DDSR@(DDSL)) Q:'DDSL!DDSE  D
 | 
|---|
| 53 |  . D LD($G(@DDSR@(DDSL,0)),$G(@DDSR@(DDSL,"F"),"!"))
 | 
|---|
| 54 |  . S DDSNXTF=$G(@DDSR@(DDSL+1,"F"),"!")
 | 
|---|
| 55 |  . I DDH'<DDSLMT,DDSNXTF["!"!(DDSNXTF'["?") D SC^DDSU S:$D(DTOUT)!($D(DUOUT)) DDSE=1
 | 
|---|
| 56 |  ;
 | 
|---|
| 57 |  I $G(DDH) S:$G(DDH(1,"T"))?1.C DDH(1,"T")="" D SC^DDSU
 | 
|---|
| 58 |  S:'$D(DDSID) DDSKM=1
 | 
|---|
| 59 |  Q
 | 
|---|
| 60 |  ;
 | 
|---|
| 61 | MSG(DDSMSG,DDSFLG,DDSFMT) ;Print local var or array DDSMSG in help area
 | 
|---|
| 62 |  ;DDSFLG [ 1 : Write bell
 | 
|---|
| 63 |  ;DDSFMT : Format if one line is sent
 | 
|---|
| 64 |  N DDSL
 | 
|---|
| 65 |  K DDH
 | 
|---|
| 66 |  I $G(DDQ)-1=DDSHBX,'$X K DDQ
 | 
|---|
| 67 |  D:$G(DDQ)>DDSHBX SETDDH
 | 
|---|
| 68 |  ;
 | 
|---|
| 69 |  I $D(DDSMSG)=1 D
 | 
|---|
| 70 |  . D LD(DDSMSG,$S($G(DDSFMT)]"":DDSFMT,1:"!"))
 | 
|---|
| 71 |  ;
 | 
|---|
| 72 |  E  S DDSL=0 F  S DDSL=$O(DDSMSG(DDSL)) Q:'DDSL  D
 | 
|---|
| 73 |  . D LD($G(DDSMSG(DDSL)),$G(DDSMSG(DDSL,"F"),"!"))
 | 
|---|
| 74 |  Q:'$G(DDH)
 | 
|---|
| 75 |  ;
 | 
|---|
| 76 |  I $G(DDH) D
 | 
|---|
| 77 |  . S:$G(DDH(1,"T"))?1.C DDH(1,"T")=""
 | 
|---|
| 78 |  . S:$G(DDSFLG)[1 DDH(1,"T")=$C(7)_$G(DDH(1,"T"))
 | 
|---|
| 79 |  . D SC^DDSU
 | 
|---|
| 80 |  S:'$D(DDSID) DDSKM=1
 | 
|---|
| 81 |  Q
 | 
|---|
| 82 |  ;
 | 
|---|
| 83 | SETDDH ;Setup DDH and DDQ for identifiers and executable help
 | 
|---|
| 84 |  ;that called EN^DDIOL
 | 
|---|
| 85 |  S:$X>IOM $X=IOM
 | 
|---|
| 86 |  S DDH=1
 | 
|---|
| 87 |  S DDH(1,"T")=$TR($J("",$X)," ",$C(0))
 | 
|---|
| 88 |  S DDQ=$S(DY>(IOSL-1):IOSL-1,1:DY)-1_U_$X
 | 
|---|
| 89 |  Q
 | 
|---|
| 90 |  ;
 | 
|---|
| 91 | LD(S,F) ;Load string S with format F into DDH array
 | 
|---|
| 92 |  N A,C,J,L
 | 
|---|
| 93 |  S DDH=+$G(DDH)
 | 
|---|
| 94 |  F J=1:1:$L(F,"!")-1 S DDH=DDH+1,DDH(DDH,"T")=""
 | 
|---|
| 95 |  S:'DDH DDH=1
 | 
|---|
| 96 |  S:F["?" @("C="_$P(F,"?",2))
 | 
|---|
| 97 |  S L=$G(DDH(DDH,"T"))
 | 
|---|
| 98 |  S S=L_$J("",$G(C)-$L(L))_S
 | 
|---|
| 99 |  ;
 | 
|---|
| 100 |  D WRAP(S,.A,IOM-1)
 | 
|---|
| 101 |  S DDH=DDH-1
 | 
|---|
| 102 |  F A=1:1:A S DDH=$G(DDH)+1,DDH(DDH,"T")=A(A)
 | 
|---|
| 103 |  Q
 | 
|---|
| 104 |  ;
 | 
|---|
| 105 | WRAP(L,A,M) ;Wrap line at word boundaries
 | 
|---|
| 106 |  ; L    = Line of text
 | 
|---|
| 107 |  ; M    = Margin width
 | 
|---|
| 108 |  ;Return:
 | 
|---|
| 109 |  ; A    = Number of lines
 | 
|---|
| 110 |  ; A(n) = Array of text
 | 
|---|
| 111 |  ;
 | 
|---|
| 112 |  S:'$G(M) M=$S($G(IOM):IOM-5,1:75)
 | 
|---|
| 113 |  N I,N
 | 
|---|
| 114 |  S N=0
 | 
|---|
| 115 |  F I=$L(L," "):-1:1 D  Q:L=""
 | 
|---|
| 116 |  . I I=1 S N=N+1,A(N)=$E(L,1,M),L=$E(L,M+1,999) Q
 | 
|---|
| 117 |  . I $L($P(L," ",1,I))'>M D
 | 
|---|
| 118 |  .. S N=N+1,A(N)=$P(L," ",1,I),L=$P(L," ",I+1,999)
 | 
|---|
| 119 |  S A=N
 | 
|---|
| 120 |  Q
 | 
|---|