cA612 ;ZWINTERM ROUTINES ;%A612 ; [ 04/21/01 9:46 PM ] ; T0 ;Zwinterm routines ; ; T0F ;Routines 'zwinterm' ; ; T0E ;Zwinterm routines ; ; B ; begin zwinterm B1 D O(1,1,24,80,0,0,0,0) BZ Q ; O(P1,P2,P3,P4,P5,P6,P7,P8) ; open window ; P1 = beginlijn ; P2 = beginkolom ; P3 = atl. lijnen ; P4 = atl. kolommen ; P5 = kader (1=ja) ; P6 = wscroff ; P7 = wrap off ; P8 = scroll off ; O0 N R I '$G(QW) D . I $ZV["MSM" U 0::"ZWINTERM" W /INIT("X3.64-1979") . I $ZV'["MSM" D U 0:0:"^cCHARWIN" W /INIT(R),/WMODE(0) .. S io=$G(io,$$IO^cQ5),R="VT320" .. I +$G(^cLOG(cs,"CHARWIN","INIT",io)) S R=$P(^(io),D,2) . I '$D(boot) D MASTER^cQ5 . I $P($G(^cLOG(boot,"DAM",2)),D) D .. I $ZV["MSM" D VAR^cAN600("VID","ZW",1) .. I $ZV'["MSM" D VAR^cAN600("VID","ZC",1) . I '$P($G(^cLOG(boot,"DAM",2)),D) D .. N S1,S2,S3 .. I $ZV["MSM" S S1="ZW" .. I $ZV'["MSM" S S1="ZC" .. S S2=$D(^cDEV(0)),S2=S1 .. F S S2=$O(^(S2)) Q:$E(S2,1,2)'=S1 S S3=$E(S2,3,999) I $E(S3,1,3)'="F70",$E(S3,1,3)'="F71" S @S3=^(S2) . S F1="/WCMD",F2="/WCML" . I $ZV["MSM" S %K=$V(108,$J,4)\1024 I %K<64 S %K=64 D INT^cPARTSIZ . S QTU=$F("FDE",$G(QT)) I QTU<2 S QT="",QTU=1 O1 I P1<1!(P1>24) S P1=1 O2 I P2<1!(P2>80) S P2=1 O3 I P3<1!(P3>24) S P3=24 O4 I P4<1!(P4>80) S P4=80 O5 S P5=+P5,P6=+P6,P7=+P7,P8=+P8 I $ZV'["MSM",P5 S P1=P1+1,P2=P2+1,P3=P3-2,P4=P4-2 D . I P1>22 S P1=22 . I P2>78 S P2=78 . I P3<1 S P3=2 . I P4<1 S P4=2 O6 I P1+P3>25 S P1=25-P3 O7 I P2+P4>81 S P2=81-P4 O8 S QW=$G(QW)+1 I $ZV["MSM" S QW(QW)=P1_D_P2_D_P3_D_P4_D_P5_D_P6_D_P7_D_P8 W /WOPEN(QW,P1-1,P2-1,P3,P4,$E(" F",P5+1)) I $ZV'["MSM" S QW(QW)=(P1-P5)_D_(P2-P5)_D_(P5*2+P3)_D_(P5*2+P4)_D_P5_D_P6_D_P7_D_P8 W /WOPEN(P2,P1,P4,P3,P5,"","","","","","",0,7) OZ D Y W /CUP(1,1),/WCMD Q ; P(P1,P2,P3,P4,P5,P6,P7,P8,TXT,LN,LMR,KLR,TQN,TQU) ; open window + titel ; combinatie van O en T P1 I $ZV["MSM" D O(P1,P2,P3,P4,P5,P6,P7,P8),T(TXT,LN,LMR,KLR,TQN,TQU) G PZ P2 D O(P1,P2,P3,P4,0,P6,P7,P8) ; window zonder kader I P5 W /WBOX(2,2,P4-2,P3-2,1) ; draw box I 'LN S LN=1 D T(TXT,LN,LMR,KLR,TQN,TQU) ; titel tonen I P5 W /WLIM(2,2,P4-2,P3-2) ; nieuwe limit voor window S QW(QW)=P1_D_P2_D_P3_D_P4_D_P5_D_P6_D_P7_D_P8 PZ Q ; T(TXT,LN,LMR,KLR,TQN,TQU) ; titel tonen TA I TQN D S TXT=TXT_QN . I $E(TXT,$L(TXT))'=" " S TXT=TXT_" " TB I TQU D S TXT=TXT_"* "_QU_" " . I $E(TXT,$L(TXT))'=" " S TXT=TXT_" " TC I KLR=7!(LMR=1) D . I $E(TXT)'=" " S TXT=" "_TXT . I $E(TXT,$L(TXT))'=" " S TXT=TXT_" " TD I TXT'=" ",'LN,$ZV["MSM" W /WT(TXT,LN,LMR),/WTSGR(KLR) TE I TXT'=" ",LN N K D W /CUP(LN,K),/SGR(KLR),TXT,/SGR(0) . S K=$S(LMR=1:80-$L(TXT)\2,LMR=2:79-$L(TXT),1:2) TZ Q ; C ; close window CZ I $G(QW) D K QW(QW) S QW=QW-1 I QW G Y . I $ZV["MSM" W /WCLOSE(QW) . I $ZV'["MSM" W /WCLOSE ; E ; einde zwinterm E1 W /END U 0::"" K QW E2 I $ZV["MSM" U 0:(0:::::1+64+2097152+8388608:::$C(13)) EZ I $ZV'["MSM" U 0:(0:"") ; X ; alternatief voor zwinterm X1 I $ZV["MSM" U 0::"X3.64-1979" X2 I $ZV'["MSM" U 0::"^cX364" XZ S F1="/ED",F2="/EL" G YZ ; W ; use zwinterm W1 I $G(QW) D S F1="/WCMD",F2="/WCML" D Y W /WREFRESH . I $ZV["MSM" U 0::"ZWINTERM" . I $ZV'["MSM" U 0::"^cCHARWIN" WZ G YZ ; Y ; use window Y1 I $ZV["MSM" W /WUSE(QW) Y2 W /WWR($P($G(QW($G(QW,1))),D,7)),/WSC($P($G(QW($G(QW,1))),D,8)) I $ZV["MSM" W /WSCROFF Y3 I '$P($G(QW($G(QW,1))),D,6) W /WSCRON ; I $ZV'["MSM" U 0:(0:"S") YZ Q ; ZZ ; 29.10.02 - 11 u 38 * V7.93