Subversion Repositories wimsdev

Rev

Rev 7359 | Rev 12325 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
20 reyssat 1
!nocache
2
stepdiag=bad
3
!for i=1 to $replycnt
4
 !if r$i isitemof $gotsteps
5
  !if r$i isitemof $thisstep
6
   saverep$i=$(reply$i)
7
  !else
8
   reply$i=$(saverep$i)
9
  !endif
10
  r_=!trim $(reply$i)
8426 bpr 11
  !if $r_=$empty
12
    default_$i=!getopt default in $(replyoption$i)
13
    !if $(default_$i)!=$empty
14
      r_=$(default_$i)
15
    !endif
16
  !endif
20 reyssat 17
  !if $(replytype$i)!=code
18
   reply$i=$r_
19
  !endif
20
  !if $r_=$empty and $(replytype$i)!=coord || \
21
    $click_x$click_y=$empty and $(replytype$i)=coord || \
22
    ($(reply$i)=?????? and $(replytype$i) iswordof menu)
23
   error=empty_data
24
   !exit
25
  !endif
26
  m_reply$i=$(reply$i)
170 bpr 27
  !read oef/screply.proc
20 reyssat 28
  !default replytype$i=default
29
  tt=!word 1 of $(replygood$i)
30
  	# analyzed reply
31
  !if $tt=?analyze
32
   t_=!rows2lines $(replygood$i)
33
   t_=!word 2 of $t_
34
   !read oef/ans.proc $i nocompare
35
   !if $error!=$empty
36
    !exit
37
   !endif
38
   !default m_reply$i=$(reply$i)
7359 bpr 39
   !default m_reply_$i=$(reply_$i)
40
   !default m_reply_$i=$(reply$i)
170 bpr 41
   !read oef/screply.proc
20 reyssat 42
   val$t_=$(reply$i)
43
   !if NaN isin $test
44
    !goto badans
45
   !endif
46
   !goto cont
47
  !endif
48
  !read oef/ans.proc $i
49
  !default m_reply$i=$(reply$i)
7359 bpr 50
  !default m_reply_$i=$(reply_$i)
51
  !default m_reply_$i=$(reply$i)
170 bpr 52
  !read oef/screply.proc
20 reyssat 53
  !if bad isin $Test
54
   error=bad_exo
55
   !advance reply_cnt
56
   status=
57
   !exit
58
  !endif
59
  !if NaN isin $test
60
   :badans
61
   error=bad_answer
62
   bad_name=$(replyname$i)
63
   bad_value=$(reply$i)
64
   !exit
65
  !endif
66
  !if $(diareply$i)!=good and nonstop notwordof $(replyoption$i)
67
   !exit
68
  !endif
69
  :cont
70
 !endif
71
!next i
72
 
73
!for i=1 to $choicecnt
74
 !if c$i isitemof $gotsteps
75
  !if c$i isitemof $thisstep
76
   savech$i=$(choice$i)
77
  !else
78
   choice$i=$(savech$i)
79
  !endif
80
  !default choice$i=0
81
  choic=$[rint($(choice$i))]
82
  !if $choic=0 and ($oefsteps=$empty or c$i isitemof $gotsteps)
83
   error=empty_data
84
   !exit
85
  !endif
86
  !if NaN isin $choic or $choic<1 or $choic>$(choiceitems$i)+2
87
   error=bad_answer
88
   bad_name=$(choicename$i)
89
   bad_value=$(choice$i)
90
   !exit
91
  !else
92
   choice$i=$choic
93
  !endif
94
  ch=!item $choic of $(choicelist$i)
95
  m_choice$i=$ch
96
  !if $qcmgood<1 and $choic=$[$(choiceitems$i)+2]
97
   !if $(choicegood$i)=$empty
98
    chh=good
99
   !else
100
    chh=bad
101
   !endif
102
  !endif
103
  !if ($choic>$(choiceitems$i) or $ch notitemof $(choicegood$i)) and $chh!=good
104
   !exit
105
  !endif
106
 !endif
107
!next i
108
 
109
!advance oefstep
110
m_step=$oefstep
111
!if $dynsteps=yes
112
 !read oef/nextstep.proc
113
!endif
114
 
115
stepdiag=ok
116
thisstep=!line $oefstep of $oefsteps
117
gotsteps=!line 1 to $oefstep of $oefsteps
118
gotsteps=!lines2items $gotsteps
119