vhScherm2 ;Detail verwerking van Scherm [ 10/16/2001 4:24 PM ] EDFLD New sT1,sT2,sOLD,sEr,sVal,prompt,ln,%R,%C,sSetting Set X="",S=$P(sFR,"`",7) Set:$P(sFR,"`",8)["S" S=$P(S,";") Goto EF2:'$L(S) If S?1.N!(S?1.E1"."1.N) Do .New i,p,s .Set:S?1.N S="1."_S .Set s=$P(S,".",1,$L(S,".")-1),p=$P(S,".",$L(S,".")) .For i=1:1:$L(s,".") Set $P(s,".",i)=""""_$P(s,".",i)_"""" .Set s=$TR(s,".",",") .Xecute "Set X=$P($G(sFL("_s_")),D,"_p_")" Else Xecute "Set X="_S EF2 Set sEr="" Set sOLD=X X:$D(^SD("D",sScrn,"E",sFld,"E")) ^("E") ; Pre Edit If $L(sEr),$D(sDir)!(sEr=-1) Quit If $L(sEr) Set FP=sEndPos-1*100+1 Write @F,@F1,!,$S($L(sEr)>1:sEr,1:"Ingave niet toegelaten voor het veld "_$P(sFR,"`",3)) R *K Quit If $P(sFR,"`",8)="B" Do Quit .New sTop,sLeft,sRight,sBot,sStOpt,sEdOpt,sRef,sRefs,sWrapLen,sMenu .Set ln=$P(sFR,"`",14) .Set:'ln ln=$P(sFR,"`",10) .Set sLeft=1 .Set sRight=sScr("KOL") .Set sBot=sScr("ROW") .Set sTop=sBot-(ln\sRight)+1 .Set sStOpt=$P(sScrnDef(sFld,"F"),"`",1) .Set sEdOpt=$P(sScrnDef(sFld,"F"),"`",2) .Set sRef=$P(sScrnDef(sFld,"F"),"`",3) .Set sWrapLen=$P(sScrnDef(sFld,"F"),"`",4) .Set sRefs=$P(sScrnDef(sFld,"F"),"`",5) .Set sMenu=$P(sScrnDef(sFld,"F"),"`",7) .Do STORE^vhTERMINA() .Do EDIT^vhBIGEDIT(sTop_";"_sLeft_";"_sBot_";"_sRight,sRef,"I",sStOpt,sEdOpt,"",sWrapLen,sRefs,sMenu) .Do REFRESH^vhTERMINA() .Set %SC=1 If $P(sFR,"`",8)["L" Do Quit:X="-"!(X=".") Goto EF4 EF2b .Set sT1=$P($G(^SD("D",sScrn,"E",sFld,"T")),"`") .Set:sT1="" sT1=$P(sFR,"`",3) .Do LIST^POP(sScrnDef(sFld,"F"),X,21,sT1,sFmt) .Set:$D(sDir) sDir=1 ; Nodig voor EDITALL .Set sEr="" .X:$D(^SD("D",sScrn,"E",sFld,"V")) ^("V") ; Validate .If $L(sEr) Do Goto EF2b If sFmt["N" S X=$TR(X,".",",") If sFmt="T" S X=$$EXTTIME^vhDTyp(X) Set:sFmt="DKD" sFmt="DK" ; // DKD = ddd DD/MM/JJJJ If "J\DM\DM4\DW\DK\DL\"[sFmt Set X=$$EXTDATE^vhDTyp(X,sFmt) EF3 Set FP=sEndPos-3*100+1 Write @F,@F1,!,! I $D(^SD("D",sScrn,"E",sFld,"T")) Do .Set sT1=$P(^("T"),"`"),sT2=$P(^("T"),"`",2),FP=2301 .If $L(sT1),"""@$"[$E(sT1) Write @F,@sT1,@F2 .Else Write @F,sT1,@F2 .Set FP=2401 .If $L(sT2),"""@$"[$E(sT2) Write @F,@sT2,@F2 .Else Write @F,sT2,@F2 I '$D(sVal) Do .Set %R=sEndPos-2,%C=1,ln=$P(sFR,"`",14),prompt=$P(sFR,"`",3) .If $L(prompt),"$"""[$E(prompt) X "S prompt="_prompt .Set prompt=prompt_" : " .Set:'ln ln=$P(sFR,"`",10) .I ln>240 Do Quit ..New sEnd,sTop,sOptie ..Do STORE^vhTERMINA() ..;Set X=$$EDITBIG^vhINP(X,prompt,ln,sEndPos-$S('$D(^SD("D",sScrn,"E",sFld,"T")):0,$L(sT2):2,$L(sT1):1,1:0)) ..Set sEnd=sEndPos-$S('$D(^SD("D",sScrn,"E",sFld,"T")):0,$L(sT2):2,$L(sT1):1,1:0) ..Set sTop=sEnd-(ln\sScr("KOL"))+1 ..Set sOptie=$P(sFR,"`",12) ..Set FP=sTop-2*100+1 Write @F,@F2,!,prompt,@F2 ..Set X=$$ONE^vhBIGEDIT(sTop_";1;"_sEnd,X,"I","~"_$S(sOptie["E":"E",sOptie["A":"A",1:"")) ..Do REFRESH^vhTERMINA() .I ln+$L(prompt)>80 Set FP=sEndPos-3*100+1 Write @F,prompt S prompt="" .Set sSetting=$TR($P(sFR,"`",12),"CUBKRDH","U") .Do ^vhINP I $D(sVal) Set X=sVal Kill sVal Set:$D(sDir) sDir=1 ; Nodig voor EDITALL If X="-"!(X=".") Quit If sFmt["N" Do .S X=$TR(X,",","."),sEXT=X .Set $ZTRAP="NIHIL^vhScherm2" .X "S X="_$S(X="":"""""",1:X) If sFmt["N",$P(sFR,"`",12)["T" Set Dec=$P(sFR,"`",11),X=+$J(X,0,+$S(Dec?.N:Dec,1:$$FETCH^vhFMT(Dec))) I sFmt["N",'(X?.N.1".".N!(X?1"-".N.".".N&($P(sFmt,"N",2)'["+"))) Do Goto EF3 .Set FP=sEndPos-1*100+1 Write @F,@F1,!,"Foutieve numerieke ingave" r *K S X=sEXT Else Set sEXT=X If sFmt="T" S X=$$INTTIME^vhDTyp(X) If "J\DM\DM4\DW\DK\DL"[sFmt Set X=$$INTDATE^vhDTyp(X,sFmt) Set sEr="" X:$D(^SD("D",sScrn,"E",sFld,"V")) ^("V") ; Validate If $L(sEr) Do:sEr'=-1 Goto EF3 .Set FP=sEndPos-1*100+1 .If $L(sEr)>1 Write @F,@F1,!,sEr .Else Do ..Set prompt=$P(sFR,"`",3) ..If $L(prompt),"$"""[$E(prompt) X "S prompt="_prompt ..Write @F,@F1,!,"Ongeldige ingave voor het veld "_prompt .R *K S X=sEXT ;Stockage EF4 X:$D(^SD("D",sScrn,"E",sFld,"P")) ^("P") ; Put transform Set S=$P(sFR,"`",7) S:$P(sFR,"`",8)["S" S=$P(S,";") ;Goto EF2:'$L(S) ;ophalen data If S?1.N!(S?1.E1"."1.N) Do .New i,p,s .Set:S?1.N S="1."_S .Set s=$P(S,".",1,$L(S,".")-1),p=$P(S,".",$L(S,".")) .For i=1:1:$L(s,".") Set $P(s,".",i)=""""_$P(s,".",i)_"""" .Set s=$TR(s,".",",") .Xecute "Set $P(sFL("_s_"),D,"_p_")=X" Else Xecute "Set "_S_"=X" Set %SC=1 Quit NIHIL S X=sEXT Quit KADER(Titel,sTit) If 'sNoClear Do .Do ERASE^vhTERMINA(sScrnPos+sTit,1,sEndPos) If sNoClear=2 Do .Do ERASE^vhTERMINA(sBeginR,1,sEndR) Quit:sTit If sNoClear=2,sScrnPos+sTit