READ ;Inputverwerking ; [ 07/11/97 1:20 PM ] ; ; Input : R="OutLoc\QuestLin\QuestCol\Question\Comment\InpLeng\CheckInLine\Check\OutLine\OutCol\Settings" ; Output : @OutLoc en K ; New ZATemp,OutLoc,InpCol,QuestLin,QuestCol,Question,Comment,InpLeng,Check,InpDots,OutLine,OutCol,Settings Set ZATemp=$ZA Set Check=1 Set:$P(R,D,8)'="" Check=Check_"&("_$P(R,D,8)_")" Set:$P(R,D,7)'="" Check=Check_"&("_$P($T(@$P(R,D,7)),U,2,99)_")" Set OutLoc=$P(R,D),QuestLin=$P(R,D,2),QuestCol=$P(R,D,3),Question=$P(R,D,4),Comment=$P(R,D,5),InpLeng=$P(R,D,6) Set InpDots="",$P(InpDots,".",InpLeng)=".",OutLine=$P(R,D,9),OutCol=$P(R,D,10),Settings=$P(R,D,11) Xecute:Settings["U" FUP Xecute:Settings["L" FLO Set InpCol=$L(Question)+QuestCol+3,FP=QuestLin*100+QuestCol+F60 Write @F Write:QuestCol<4 @F1 Write @F2,Question," : " If Comment'="" Write:Comment["""" !?2,@F2,@Comment Do:Comment'["""" @Comment Use 0:(::::64) For Do If $L(K)'>InpLeng,K'["""",K'[D,K'[U,K'?.E1C.E,@Check Quit .Set FP=QuestLin*100+InpCol+F60 .Write @F,@F2,InpDots,@F,@F0 .Read K .If $zb\256=21,$P(^cLOG(boot,"DEV",$I),"\")="MC" Set K="?" .If $zb\256=48,$P(^cLOG(boot,"DEV",$I),"\")'="MC" Set K="?" .If $zb\256=52,$P(^cLOG(boot,"DEV",$I),"\")="MC" Set K="p" .If $zb\256=45,$P(^cLOG(boot,"DEV",$I),"\")'="MC" Set K="p" .Write @F2 Set @OutLoc=K Set FP=OutLine*100+OutCol If FP Write @F,$J("",InpLeng),@F,K Kill R Xecute:Settings["U" FLO Use 0:(::::ZATemp:64) Quit ; OLD(prompt,ln,T1,Check,Settings,%R,%C) Set %R=$G(%R) Set:'%R %R=22 Set %C=$G(%C) Set:'%C %C=3 Set R="K\"_%R_D_%C_D_prompt_"\"""_T1_"""\"_ln_"\\"_Check_"\\\"_Settings Do READ Quit ; SCROL(prompt,ln,X,T1,T2,Check,Settings,Row,Col,Clear) New ZATemp,%R,%C Set ZATemp=$ZA Set:'$D(Clear) Clear=1 If $L(Settings) Xecute:Settings["U" FUP Xecute:Settings["L" FLO Set Row=$G(Row) Set:'Row Row=22 Set Col=$G(Col) Set:'Col Col=3 Set prompt=prompt_" : " Set:Check="" Check=1 Set X=X If Clear Set FP=Row*100+1 Write @F,@F1 If Row<24 Set FP=Row+1*100+Col Write @F,T1,@F2 If Row<23 Set FP=Row+2*100+Col Write @F,T2,@F2 For Set %R=Row,%C=Col Do ^vhINP Set K=X If @Check Quit Xecute:Settings["U" FLO Use 0:(::::ZATemp:64) Quit ; DCTR ;K?2N1"."2N1"."2N&$E(K,1,2)&$E(K,4,5)&($E(K,1,2)<32)&($E(K,4,5)<13)&'("04060911"[$E(K,4,5)&($E(K,1,2)=31))&'(+$E(K,4,5)=2&(('($E(K,7,8)#4)&($E(K,1,2)>29))!($E(K,7,8)#4&($E(K,1,2)>28))))!("-,"[K) ; Z X ^cZ Q ZZ ; 27.08.92 - 17 u 33 * 3.0.12-r1.9