PROC1 ;PROCEDURES & FUNCTIES ;PROC; Beschrijving zie PROC1BES [ 10/15/2002 11:52 AM ] Q ; T1 ;Zoek wat;Que cherchez T2 ; Zoeken naar : ; Cherchez : T3 ;Niet gevonden !;Introuvable ! T4 ; [] = ok ; ; Inkey IK New sFVL Set sFVL=$G(IK(1)) Set R=$$IN^vhKEY("",$G(IK(2))) Quit ; ; Clear list CL New DLInc,DLad,DLal,DLb,DLbl,DLc,DLcb,DLcm,DLe,DLf,DLfe,DLfn,DLfx,DLfx,DLi,DLll,DLo,DLse,DLsl,DLsw,DLt,DLti,DLv,DLvx,DLwp,DLn,IK S DLbl=@(DL(1)_"(3)"),DLal=@(DL(1)_"(4)") I $L(@(DL(1)_"(8)")) S FP=DLbl-1*100+1 W @F,@F2 F DLi=DLbl:1:DLbl+DLal-1 S FP=DLi*100+1 W @F,@F2 Q ; ; ; Renumber list RL New DLInc,DLad,DLal,DLb,DLbl,DLc,DLcb,DLcm,DLe,DLf,DLfe,DLfn,DLfx,DLfx,DLi,DLll,DLo,DLse,DLsl,DLsw,DLt,DLti,DLv,DLvx,DLwp,DLn,IK S DLt=@(DL(1)_"(1)") F DLi=$L(DLt):-1 Q:" ,)"'[$E(DLt,DLi) ; opmaak van de referenties naar de tabel S DLt=$E(DLt,1,DLi) S:DLt'["(" DLt=DLt_"(" S:$E(DLt,$L(DLt))'="(" DLt=DLt_"," S @(DL(1)_"(1)")=DLt,DLi=DLt_"DLv)",DLt=DLt_"DLn)",(DLv,DLn)=0 RL1 S DLn=$N(@DLt) I DLn'=-1 S DLv=DLv+1,@DLi=@DLt K @DLt G RL1 ; de eigenlijke herschikking van de tabel S @(DL(1)_"(9)")=DLv Q ; ; Find Find(DLTaal) S DLTaal=$G(DLTaal) Set:DLTaal'="F" DLTaal="N" S DLfe=0,DLvx=DLv,DLv=1 I '$D(@DLt) S DLv=DLvx G Find6 Find1 S FP=DLbl+DLal-1*100+1 W @F,@F2," ",@FMTB,$P($T(T1),U,$F("NF",DLTaal))," ?" I $D(DLz),$L(DLz) W " ([] = ",DLz,")" W @FMTb," " R R I R="",$G(DLz)="" G Find3 I '$D(DLz),$L(R) S DLz=R S:R'="" DLz=R W @F,@FMTK,$P($T(T2),U,$F("NF",DLTaal)),DLz,@FMTk,@F2 // Gezochte tekst laten pinken: "Zoeken naar : " S DLv=DLo I $D(DLn),DLn>DLo,DLn<(DLo+DLal) S DLv=DLn S:DLsl DLv=DLsl S DLn=DLv,DLv=DLv+1,DLzx="" Set DLzx=$$UPTRIMAN^vhRtn1(DLz) S:DLzx="" DLzx=DLz ;Find2 S:'$D(@DLt) DLv=1 S DLi=@DLt I DLv'=DLn,DLi'[DLz,$$UPTRIMAN^vhRtn1(DLi)'[DLzx S DLv=DLv+1 G Find2 ;Zoek aangepast CW 07.03.2008 Find2 S:'$D(@DLt) DLv=1 S DLi=@DLt I '$$Compare(DLv,DLn,DLi,DLz,DLzx) S DLv=DLv+1 G Find2 // Alle lijnen in ^HULP(KLNr, ... afzoeken op match. G Find4:DLv'=DLn W @F,@F2," ",@FMTB,@FMTI,"""",DLz W """ ",@FMTK,$P($T(T3),U,$F("NF",DLTaal)),@FMTk,@FMTB,@FMTI,$P($T(T4),U,2),@FMTb,@FMTi D IK S FP=DLbl+DLal*100+1 W @F,@F2 S:R="ENTER" R="" Find3 S (DLf,DLfx)=R I R'="FI" S DLv=DLvx-1 S:DLv<1 DLv=1 D WLn^PROC:$D(@DLt) S DLv=DLvx G Select^PROC Find4 S DLn=DLv G Find5:DLv