Annotation of freem_fileman/DDBR1.m, revision 1.1.1.1

1.1       snw         1: DDBR1  ;SFISC/DCL-VA FILEMAN BROWSER PROTOCOLS;04:22 PM  20 Oct 1994;
                      2:        ;;21.0;VA FileMan;;Dec 28, 1994
                      3:        ;Per VHA Directive 10-93-142, this routine should not be modified.
                      4:        Q
                      5: GOTO   N X
                      6: GTR    S X(1)=$G(X(1)),X(2)="GoTo >" W $$WS(.X) D  G:X=""!(X=U) OUT
                      7:        .D EN^DIR0($P(DDBSY,";",3)-1,$L($G(X(2)))+2,30,1,"",100,1,"","KPW",.X)
                      8:        .K DIR0
                      9:        .Q
                     10:        I $E(X)="?" S X(1)="* Screen (default), line or column number preceeded by 'S', 'L' or 'C' *" G GTR
                     11:        I X S X=X*DDBSRL G LINE
                     12:        S $E(X)=$TR($E(X),"bclst","BCLST")
                     13:        I X["S",$TR($P(X,"S",2)," ") S X=$TR($P(X,"S",2)," ")*DDBSRL G LINE
                     14:        I X["L",$TR($P(X,"L",2)," ") S X=$TR($P(X,"L",2)," ") G LINE
                     15:        I X["C",$TR($P(X,"C",2)," ") S X=$TR($P(X,"C",2)," ") I X>0&(X<256) S DDBSF=X G COLENT^DDBR0
                     16:        I $E(X)="T" G TOP^DDBR0
                     17:        I $E(X)="B" G BOT^DDBR0
                     18:        G OUT
                     19: LINE   S DDBL=$S(X'>DDBSRL:0,X>DDBTL:DDBTL,1:X) D PSR^DDBR0()
                     20:        Q
                     21: NOOF   N N
                     22:        S N=1 I $D(DDBFNO) N D,X G FNO
                     23:        S X(1)="    * [ NO PREVIOUS FIND STRING AVAILABLE ] *"
                     24:        N Q S N=0 G BPR
                     25: FIND   N D,Q,X
                     26:        N N
                     27:        S N=0
                     28: BPR    S X(1)=$G(X(1)),X(2)="Find What:  " W $$WS(.X) D  G:X="" OUT
                     29:        .N Y
                     30:        .D EN^DIR0($P(DDBSY,";",3)-1,$L($G(X(2)))+2,30,1,$P($G(DDBFNO),U,3,255),100,1,"","KPW",.X,.Y)
                     31:        .K DIR0
                     32:        .S:$P($G(Y),U)="U" X=X_"/U"
                     33:        .Q
                     34:        S Q=$TR($E(X,$L(X)-1,$L(X)),"u","U")
                     35:        S D=$S(Q="/U":-1,1:1)
                     36:        S:D=-1 X=$E(X,1,$L(X)-2)
                     37:        Q:X=""
                     38:        I $E(X)="?" S X(1)="    * [ Please enter any characters <cr>, '^' <cr> (exit) ] *" G BPR
                     39: FNO    N I,MATCHI,MATCHX
                     40:        I N S D=$P(DDBFNO,"^",2),X=$P(DDBFNO,"^",3,255)
                     41:        S X(1)="",X(2)="    * [ ...Searching "_$S(D=1:"'DOWN'",1:"'UP'")_" for "_X_"... ] *" W $$WS(.X)
                     42:        D  S:I<0 I=0
                     43:        .I N&(D=1) S I=DDBL Q
                     44:        .I N S I=DDBL-(DDBSRL-1) Q
                     45:        .I D=1 S I=DDBL-DDBSRL Q
                     46:        .S I=DDBL+1
                     47:        .Q
                     48:        D
                     49:        .N XUC
                     50:        .S XUC=$$U(X)
                     51:        .I DDBDM D  Q
                     52:        ..I DDBZN D  Q
                     53:        ...F  S I=$O(^TMP("DDB",$J,I),D) Q:I'>0  I $$U($G(^(I,0)))[XUC S MATCHI=I,MATCHX=^(0) Q
                     54:        ...Q
                     55:        ..F  S I=$O(^TMP("DDB",$J,I),D) Q:I'>0  I $$U(^(I))[XUC S MATCHI=I,MATCHX=^(I) Q
                     56:        ..Q
                     57:        .I DDBZN D  Q
                     58:        ..F  S I=$O(@DDBSA@(I),D) Q:I'>0  I $$U($G(@DDBSA@(I,0)))[XUC S MATCHI=I,MATCHX=@DDBSA@(I,0) Q
                     59:        ..Q
                     60:        .F  S I=$O(@DDBSA@(I),D) Q:I'>0  I $$U(@DDBSA@(I))[XUC S MATCHI=I,MATCHX=@DDBSA@(I) Q
                     61:        .Q
                     62:        I $G(MATCHI) D  S DDBFNO=DDBL_"^"_D_"^"_X Q
                     63:        .S DDBSF=1,DDBST=IOM F  Q:$F(MATCHX,X)'>DDBST  D
                     64:        ..S DDBSF=$O(@DDBC@(DDBSF)) S:DDBSF="" DDBSF=$O(@DDBC@(""))
                     65:        ..S DDBST=DDBSF+(IOM-1)
                     66:        ..Q
                     67:        .I I+(DDBSRL)>DDBTL S I=DDBTL-(DDBSRL-1)
                     68:        .I DDBTL'>DDBSRL S I=1
                     69:        .S DDBL=I-1 D SDLRH(I,X),RCLSI^DDBR0
                     70:        .Q
                     71:        S X(1)="",X(2)="    * [ NO"_$S(N:" OTHER ",1:" ")_"MATCH FOUND ] *" W $C(7),$$WS(.X) H 3
                     72:        D PSRH
                     73:        Q
                     74: OUT    D PSR^DDBR0()
                     75:        Q
                     76: PSRH   S DDBL=$S(DDBL'>DDBSRL:0,1:DDBL-DDBSRL)
                     77:        D SDLRH(DDBL+1,X)
                     78:        Q
                     79: SDL    ;
                     80: SDLRH(L,HLS)   N I,J,SFR,STO
                     81:        S DX=0,SFR=$P(DDBSY,";",2),STO=$P(DDBSY,";",3),J=L
                     82:        S DY=SFR X IOXY
                     83:        I DDBZN F I=SFR:1:STO D
                     84:        .W:I'=SFR !
                     85:        .W $P(DDGLCLR,DDGLDEL)
                     86:        .I J=L,$D(@DDBSA@(L)) W $$HL($E(@DDBSA@(L,0),DDBSF,DDBST),HLS,$P(DDGLVID,DDGLDEL,6),$P(DDGLVID,DDGLDEL,10)) S DDBL=DDBL+1,L=L+1
                     87:        .S J=J+1
                     88:        .Q
                     89:        I 'DDBZN F I=SFR:1:STO D
                     90:        .W:I'=SFR !
                     91:        .W $P(DDGLCLR,DDGLDEL)
                     92:        .I J=L,$D(@DDBSA@(L)) W $$HL($E(@DDBSA@(L),DDBSF,DDBST),HLS,$P(DDGLVID,DDGLDEL,6),$P(DDGLVID,DDGLDEL,10)) S DDBL=DDBL+1,L=L+1
                     93:        .S J=J+1
                     94:        .Q
                     95:        Q
                     96: HL(X,S,ON,RS,F)        S X=$G(X),S=$G(S),F=$G(F)=1
                     97:        G:F CS
                     98:        N C,I,P,T,XU,SU,SL,TL,XL
                     99:        S XU=$$U(X),SU=$$U(S),SL=$L(S),C=$L(XU,SU)-1,T="",XL=0
                    100:        Q:'C X
                    101:        F I=1:1:C S P=$F(XU,SU,XL),T=T_$E(X,XL,P-SL-1)_ON_$E(X,P-SL,P-1)_RS,XL=P
                    102:        S T=T_$E(X,XL,255)
                    103:        Q T
                    104: U(X)   Q $TR(X,"abcdefghijklmnopqrstuvwxyz","ABCDEFGHIJKLMNOPQRSTUVWXYZ")
                    105: CS     Q:$L(X,S)'>1 X
                    106:        N C,I,P,T
                    107:        S T="",C=$L(X,S)
                    108:        F I=1:1:C S P=$P(X,S,I),T=T_P_$S(I'=C:ON_S_RS,1:"")
                    109:        Q T
                    110: HELP(DDBHELP)  N I,J
                    111:        I DDBSA="^DI(.84,9201,2)" S DDBL=0 D SDLR^DDBR0(1),RCLSI^DDBR0 Q
                    112:        N DDBHA S DDBHA="^DI(.84,9201,2)"
                    113:        D BROWSE^DDBR(DDBHA,"PNH","VA FileMan Help Document","","",IOTM,IOBM,DDBHELP),PSR^DDBR0(1)
                    114:        Q
                    115: LC(L,C)        Q:$G(L)'>0 ""
                    116:        S C=$G(C,"-")
                    117:        Q $TR($J("",L)," ",C)
                    118: WS(X)  S DX=0,DY=$P(DDBSY,";",3)-3 X IOXY
                    119:        W $P(DDGLGRA,DDGLDEL)
                    120:        W $TR($J("",IOM)," ",$P(DDGLGRA,DDGLDEL,3))
                    121:        W $P(DDGLGRA,DDGLDEL,2)
                    122:        W !,$P(DDGLCLR,DDGLDEL),$G(X(1))
                    123:        W !,$P(DDGLCLR,DDGLDEL),$G(X(2))
                    124:        W !,$P(DDGLCLR,DDGLDEL),$G(X(3))
                    125:        S DY=$P(DDBSY,";",3),DX=$L($G(X(2)))+2 X IOXY
                    126:        Q ""

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>