cA334F ;Algemeen printprogramma ;%A334 ; [ 01/04/01 2:06 PM ] G 1 ; T0 ;Algemeen printprogramma ; ; T0F ;Programme d'impression universel ; ; T0E ;General printprogram ; ; TXT S RR2=$S(RR>1:$P(TAB,D,RR-1),1:0)+1,RR3=$P(TAB,D,RR) TXTA S K=$P(RR1,D) I $P(RR1,D,5) S K=$J(K,0,$P(RR1,D,6)) TXTB I $L($P(RR1,D,7)) X "S K="_$P(RR1,D,7) TXTC S RT=RT+1,RT(RT)=K TXTE S RL(RT)=RR3-RR2-$P(RR1,D,3)-$P(RR1,D,4),RN(RT)=$P(RR1,D,5) TXTZ K R,RR1,RR2,RR3 Q ; TOT S RRT=$P(TXT(RR),D,8) F R=1:1:$L(TAB,D) S AFS(RRT,R)=$G(AFS(RRT,R)) TOTA S AFS(RRT,RR)=AFS(RRT,RR)+TXT(RR)_D_$P(TXT(RR),D,2,7) TOTZ K R,RRT Q ; 1 S ZONDERIP=1 ; geen interpunctie 10 S BLZ=$G(BLZ),LNMAX=$G(LNMAX,50),V=$G(V) 11 S LN=$G(LN),END=$G(END),END(0)=$G(END(0)),AFS=$G(AFS) 13 F R=1:1:$L(TAB,D) S TXT(R)=$G(TXT(R)) 14 S R=$O(TXT($L(TAB,D))) I R'="" K TXT(R) G 14 16 S LN(0)=$G(LN(0)) ; ; speciale functies 2 I END=1 D AFS,END G YZ 20 I END=2 D AFS S END=0 G YZ 21 I END=3 D SEP S END=0 G YZ 22 I END=4 D AFS S (END,LN)=0 G YZ 23 I END=5 D:LN TOP D:'LN HD,TIT S END=0 G YZ 24 I END=6 D END G YZ 25 I END=7 D DEF S END=0 G YZ 26 I END=8 D:LN TOP D:'LN HD D TIT S END=0 G YZ 27 I END>100 D SEP:LN+1LNMAX D AFS G 3 33 S END(0)=0,RR="" N RL,RT S RT=0 35 S RR=$O(TXT(RR)) I RR'="" S RR1=TXT(RR) D TXT,TOT:$P(TXT(RR),D,8) G 35 37 S LN(0)=1 D ^cA700 ; YZ K RR Q ; ; tussenlijn SEP I $G(NOSEP) G SEPZ SEPA N RL,RT S RT=0 F R1=1:1:$L(TAB,D) S RT=RT+1 D . S R2=$S(R1>1:$P(TAB,D,R1-1),1:0)+1,R3=$P(TAB,D,R1),RL(RT)=R3-R2 . S RT(RT)=$TR($J("",RL(RT))," ",$C($S(END>100:END-100,1:45))) SEPB D ^cA700 S END(0)=$S(END=132:0,1:1),LN(0)=0 S:END<100&END LN=LN+1 SEPZ K R1,R2,R3,R4 Q ; ; hoofding HD S LN=0 D TOP HDA S R="" F S R=$O(HD(R),-1) Q:R="" D . S R0=$P($P(HD(R),D,2),U) I $L(R0) S $P(^HULP("TR",Q,TNR,0),D)=R0 HDZ K R,R0 Q ; ; titel(s) TIT N RL,RT I $G(NOTIT) G TITZ TITA S R="" F S R=$O(TIT(R)) Q:R="" S LN=LN+1 D . F RT=1:1:$L(TAB,D) S RT(RT)=$P($P(TIT(R),D,RT),U),RL(RT)=$L(RT(RT)) . D ^cA700 K RL,RT TITZ K R Q ; ; TOP-lijnen TOP N RL,RT I $G(NOTOP) G TOPZ TOPA S R="" F S R=$O(TOP(R)) Q:R="" S LN=LN+1 D . S RT=0,R0="" F S R0=$O(TOP(R,R0)) Q:R0="" D .. S RT=RT+1,RT(RT)=$P(TOP(R,R0),U),RL(RT)=$L(RT(RT)) . D ^cA700 K RL,RT TOPZ K R,R0 Q ; AFS I 'LN D HD,TIT AFSA D SEP:'END(0) S RRA="" N RL,RT AFSB S RRA=$O(AFS(RRA)) G AFSX:RRA="" S RT=0,LN=LN+1,RR="" AFSC F RR=1:1:$L(TAB,D) S AFS(RRA,RR)=$G(AFS(RRA,RR)) AFSD S RR=$O(AFS(RRA,$L(TAB,D))) I RR'="" K AFS(RRA,RR) G AFSD AFSE S RR=$O(AFS(RRA,RR)) I RR'="" S RR1=AFS(RRA,RR) D TXT G AFSE AFSF D ^cA700 K RL,RT G AFSB AFSX I $O(AFS(RRA))'="" D SEP AFSZ S:LN'