1 | QAPUTIL1 ;557/THM-SURVEY GENERATOR UTILITIES, PART 2 [ 06/01/95 10:32 AM ]
|
---|
2 | ;;2.0;Survey Generator;;Jun 20, 1995
|
---|
3 | ;
|
---|
4 | HELP ;Help on question entry for creators
|
---|
5 | X:$D(CLEOP) CLEOP
|
---|
6 | W !,"This area allows you to enter individual questions to this newly",!,"created survey.",!!
|
---|
7 | W "You will be asked to give an ",BLDON,"increment",BLDOFF," or a number to skip",!,"between each question. It may be any non-decimal number up",!,"to 99.",!!
|
---|
8 | W "You will be asked to give a ",BLDON,"question number",BLDOFF," for each question. The",!,"system will use these numbers in all displays of question data.",!!
|
---|
9 | W "A default starting question number will be supplied and will always",!
|
---|
10 | W "be your increment, but you may override it if you wish. From",!
|
---|
11 | W "then on, the number displayed will be the first number entered",!
|
---|
12 | W "plus your designated increment.",!!
|
---|
13 | W !!,"Press RETURN " R ANS:DTIME I '$T S STOP=1 Q
|
---|
14 | X:$D(CLEOP) CLEOP
|
---|
15 | Q
|
---|
16 | ;
|
---|
17 | HELPLK ;display survey questions on user ??
|
---|
18 | W ! K ANSX,STOP,FND X:$D(CLEOP) CLEOP S QAPOUT=0,CNT=0,QAPQN=""
|
---|
19 | W ?2,"Question",!?2,"number",?13,"Q u e s t i o n t e x t",!?2,"-------",?13,"--------------------------------------------------------------",!!
|
---|
20 | S SQUEST=$O(DANS(0)),CNTPG=0
|
---|
21 | F I=0:0 S I=$O(DANS(I)) Q:I=""!(QAPOUT=1)!($D(FND))!(CNT=QNUMANS) F J=0:0 S J=$O(DANS(I,J)) Q:J=""!(QAPOUT=1)!($D(FND))!(CNT=QNUMANS) DO
|
---|
22 | .S CNT=CNT+1
|
---|
23 | .W ?5,I,?13,$S($G(^QA(748.25,SURVEY,1,J,2,1,0))]"":$E(^(0),1,55),1:"No text"),! S CNTPG=CNTPG+1 ;# displayed this page
|
---|
24 | SEL .S QAPOUT=0
|
---|
25 | .I $O(DANS(I))=""!((CNT#10)=0)!(J=QNUMANS) DO
|
---|
26 | ..S QLINE=8 W !,"Select a question from ",SQUEST," to ",I,", enter '^' or RETURN to go back",!,"to the previous prompt: " R ANSX:DTIME S:'$T STOP=1 S:ANSX[U QAPOUT=1 Q:$D(STOP)
|
---|
27 | ..X:ANSX=""&($D(CLEOP1)) CLEOP1 S:ANSX="" CNTPG=0 Q:ANSX[U!(ANSX="")
|
---|
28 | ..I ANSX'=U,ANSX'="",ANSX'?1.3N,ANSX'?1.3N1"."1.3N S ANSX="ZZ",(CNT,CNTPG)=0
|
---|
29 | ..D:'$D(DANS(+ANSX)) S:'$D(DANS(+ANSX)) QAPNOANS=1 Q:$D(QAPNOANS) I $D(DANS(+ANSX)) S QAPQN=DANS(+ANSX),FND=1 Q
|
---|
30 | ...X:$D(CLEOP1) CLEOP1 W *7,"You must select ",SQUEST," to ",I," enter '^' or RETURN",!,"to go back to the previous prompt. " H 2 X CLEOP1
|
---|
31 | ...S I=(CNT-CNTPG),I=I-CNTPG,CNT=CNT-(CNTPG),CNTPG=0
|
---|
32 | ...S:I<10 I=0 S:CNT<10 CNT=0
|
---|
33 | . I $D(QAPNOANS) K QAPNOANS Q
|
---|
34 | .I $D(ANSX) I ANSX[U S QAPOUT=1 Q
|
---|
35 | K FND,CNT,SQUEST S QAPOUT=0
|
---|
36 | Q
|
---|
37 | ;
|
---|
38 | HELPLKE ;display questions - creator edit
|
---|
39 | W ! K ANSX,STOP,FND X:$D(CLEOP) CLEOP S QAPOUT=0,CNT=0,QAPQN=""
|
---|
40 | W ?2,"Question",!?2,"number",?13,"Q u e s t i o n t e x t",!?2,"-------",?13,"--------------------------------------------------------------",!!
|
---|
41 | S SQUEST=$O(DANS(0)),CNTPG=0
|
---|
42 | I SQUEST="" W !!?10,"This survey does not yet have questions.",! H 2 Q
|
---|
43 | F I=0:0 S I=$O(DANS(I)) Q:I=""!(QAPOUT=1)!($D(FND)) F J=0:0 S J=$O(DANS(I,J)) Q:J=""!(QAPOUT=1)!($D(FND)) DO
|
---|
44 | .S CNT=CNT+1
|
---|
45 | .W ?5,I,?13,$S($G(^QA(748.25,SURVEY,1,J,2,1,0))]"":$E(^(0),1,55),1:"No text"),! S CNTPG=CNTPG+1
|
---|
46 | SELA .S QAPOUT=0
|
---|
47 | .I $O(^QA(748.25,"E",SURVEY,I))=""!((CNT#10)=0) DO
|
---|
48 | ..S QLINE=8 W !,"Select a question from ",SQUEST," to ",I,", enter '^' or RETURN to go back",!,"to the previous prompt: " R ANSX:DTIME S:'$T (STOP,QAPOUT)=1 Q:$D(STOP)
|
---|
49 | ..I ANSX'=U,ANSX'="",ANSX'?1.3N,ANSX'?1.3N1"."1.3N S ANSX="ZZ",(CNT,CNTPG)=0
|
---|
50 | ..X:ANSX=""&($D(CLEOP1)) CLEOP1 S:ANSX="" CNTPG=0 Q:ANSX[U!(ANSX="")
|
---|
51 | ..D:'$D(DANS(+ANSX)) S:'$D(DANS(+ANSX)) QAPNOANS=1 Q:$D(QAPNOANS) I $D(DANS(+ANSX)) S QAPQN=DANS(+ANSX),FND=1 Q
|
---|
52 | ...X:$D(CLEOP1) CLEOP1 W *7,"You may select only from ",SQUEST," to ",I," enter '^' or RETURN",!,"to go back to the previous prompt. " H 3 X CLEOP1
|
---|
53 | ...S I=(CNT-CNTPG),CNT=CNT-(CNTPG),CNTPG=0
|
---|
54 | ...S:I<10 I=0 S:CNT<0 CNT=10
|
---|
55 | . I $D(QAPNOANS) K QAPNOANS Q
|
---|
56 | .I $D(ANSX) I ANSX[U S QAPOUT=1 Q
|
---|
57 | K FND,CNT,SQUEST S QAPOUT=0
|
---|
58 | Q
|
---|