HELP ;Tonen van help vertrekkend van een lijstje met Suptopics [ 08/20/93 3:10 PM ] ;Men kan ook rechtstreeks een SubTopic oproepen. ;Input (Parameters) ; HLP(1) = Topic van de HELP (index op nivo 1 in het HELP bestand) ; HLP(2) = SupTopic van de Help (index op nivo 2), default empty ; HLP(3) = Beginlijn op het scherm, de hoofding verschijnt er voor ; HLP(4) = Lengte van de lijst, default einde scherm ; HLP(5) = Aantal karakters per lijn, default 80 ; HLP(6) = FunctieKeyVertaalLijst welke doorgegeven wordt aan ScrollLijst ;Output : ; In R komt de toets welke ingedrukt werd om de help te verlaten ;Variablen ; HLP1 : Teller ; HLP2 : IndexPointer nivo 2 ; HLP3 : Tabel voor de SubTopics ; HLP4 : Lijstdefinitie ; HLP New DL IF $D(HLP(2)),$D(^HELP(HLP(1),HLP(2))) S HLP2=HLP(2) G HLPTXT S HLP2=-1,HLP1=0 HLP1 S HLP2=$N(^HELP(HLP(1),HLP2)) G:HLP2=-1 HLP2 S HLP1=HLP1+1,HLP3(HLP1)=^HELP(HLP(1),HLP2)_D_HLP2 G HLP1 HLP2 G:HLP1=0 YZ G:HLP1=1 HLPTXT S HLP4(1)="HLP3" S:'$D(HLP(5)) HLP4(2)="1;C;L;79" S:$D(HLP(5)) HLP4(2)="1;C;L;"_(HLP(5)-1) S HLP4(3)=HLP(3) S:$D(HLP(4)) HLP4(4)=HLP(4) S:$D(HLP(5)) HLP4(5)=HLP(5) S HLP4(6)=1 S HLP4(7)=1 S HLP4(8)=" Selecteer het onderwerp waarvan U help wenst en druk HELP" Kill IK,DL,HLP4(9) S DL(1)="HLP4" Do WL^PROC Set DL(2)=$G(HLP(6)) Do SL^PROC G:R'="ENTER"&(R'="HELP") YZ S HLP2=$P(HLP3(HLP4(6)),D,2) HLPTXT S HLP4(1)="^HELP(HLP(1),HLP2)" S:'$D(HLP(5)) HLP4(2)="1;C;L;79;;;2" S:$D(HLP(5)) HLP4(2)="1;C;L;"_(HLP(5)-1)_";;;2" S HLP4(3)=HLP(3) S:$D(HLP(4)) HLP4(4)=HLP(4) S:$D(HLP(5)) HLP4(5)=HLP(5) S HLP4(6)=0 S HLP4(7)=1 S HLP4(8)=" "_^HELP(HLP(1),HLP2) S:$O(^HELP(HLP(1),$O(^HELP(HLP(1),""))))'="" HLP4(8)=HLP4(8)_" (Voor lijst met topics, druk HELP)" Kill IK,DL,HLP4(9) S DL(1)="HLP4" Do WL^PROC Set DL(2)=$G(HLP(6)) Do SL^PROC If R="HELP" Kill HLP(2) Goto HLP G YZ ; ; Importeren van tekstvelden in het help bestand. ; Geen parameters nodig alleen een strikt formaat. ; Eerste lijn is Topic (nivo 1) ; Tweede lijn moet SubTopic zijn beginnend met een "@" (nivo 2) ; Derde lijn en volgende mogen tekst of subtopic zijn ; IMPORT W !,"Ingave van de tekst (""-"" voor exit)",! R K Q:K="-"!(K="") Kill:$D(^HELP(K)) ^HELP(K) S I=1 Loop W ! R P IF P="-" S HLP(1)=K,HLP(3)=10,HLP(6)="-;-" G HLP ; Nakijken voor SUBHELP, aangeduid met een @ IF ($E(P,1))="@" S I=1,L=$P(P,"@",2),^HELP(K,L)=$P(P,"@",3) G Loop ; Nakijken voor bolding, aangeduid met een # IF ($E(P,1))="#" S ^HELP(K,L,I)=$E(P,2,999)_"\"_"1" E S ^HELP(K,L,I)=P S I=I+1 G Loop ; YZ D CL^PROC1 KILL HLP1,HLP2,HLP3,HLP4 Q ; Z X ^cZ Q ZZ ; 01.02.91- 10 u 52