Diff for /capa/capa51/GUITools/scorer.tcl between versions 1.7 and 1.12

version 1.7, 1999/12/16 22:18:35 version 1.12, 2000/02/22 18:10:27
Line 166  proc loadScorerConfig { num } { Line 166  proc loadScorerConfig { num } {
           
     set filename [file join $gFile($num) records scorer.output.$gScorer(set.$num)]      set filename [file join $gFile($num) records scorer.output.$gScorer(set.$num)]
     if { [ catch { set fileId [ open $filename "r" ] } ] } {      if { [ catch { set fileId [ open $filename "r" ] } ] } {
  displayError "The set \"$gScorer(set.$num)\" does not yet have an scorer.output file. "   displayMessage "Creating a new scorer.output file for set $gScorer(set.$num)."
  return   return
     }      }
     set line [gets $fileId ]      set line [gets $fileId ]
Line 800  proc oneResponse { response max which } Line 800  proc oneResponse { response max which }
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 proc parseLine { num answerLine answerStruct } {  proc parseLine { num answerLine answerStruct } {
     global gScorer      global gScorer gMult
     upvar $answerStruct parsedIn      upvar $answerStruct parsedIn
     set result ""      set result ""
   
Line 830  proc parseLine { num answerLine answerSt Line 830  proc parseLine { num answerLine answerSt
     set perQuest [lindex $gScorer($sheet.Question) 2]      set perQuest [lindex $gScorer($sheet.Question) 2]
     set parsedIn(multiplemarks) 0      set parsedIn(multiplemarks) 0
     set parsedIn(spaces) 0      set parsedIn(spaces) 0
       set parsedIn(maxQuest) $maxQuest
     for { set i 0 } { $i < $maxQuest } { incr i } {      for { set i 0 } { $i < $maxQuest } { incr i } {
  if { [ catch { set gScorer(quest.$i.type.$num) } ] } {   if { [ catch { set gScorer(quest.$i.type.$num) } ] } {
     set parsedIn(maxQuest) $i      set parsedIn(maxQuest) $i
Line 852  proc parseLine { num answerLine answerSt Line 853  proc parseLine { num answerLine answerSt
     set parsedIn(answer.$i) [string index $array $which]      set parsedIn(answer.$i) [string index $array $which]
  } else {   } else {
     if { $howmany > 1 } {       if { $howmany > 1 } { 
  set parsedIn(answer.$i) " "   set options ""
    foreach possible $which {
       append options "[string index $array $possible] "
    }
    set selected [multipleChoice . "There were multiple marks on\nPaper Number $parsedIn(SerialNumber)\nStudentNumber $parsedIn(StudentNumber)\nProblem Number [expr $i+1]" $options]
    #puts ":$parsedIn(StudentNumber):$parsedIn(SerialNumber):[format %2d [expr $i+1]]:$selected:$options"
    set parsedIn(answer.$i) $selected
    #puts $parsedIn(answer.$i)
  incr parsedIn(multiplemarks)   incr parsedIn(multiplemarks)
     } else {      } else {
  if { $howmany < 1 } {    if { $howmany < 1 } { 
Line 880  proc parseLine { num answerLine answerSt Line 888  proc parseLine { num answerLine answerSt
  [expr {$start + $which}]]   [expr {$start + $which}]]
     } else {      } else {
  if { $howmany > 1 } {    if { $howmany > 1 } { 
     append parsedIn(answer.$i) " "      set options ""
       foreach possible $which {
    append options "[string index $array [expr {$start + $possible}]] "
       }
       set selected [multipleChoice . "There were multiple marks on\nPaper Number $parsedIn(SerialNumber)\nStudentNumber $parsedIn(StudentNumber)\nProblem Number [expr $i+1]" $options]
       #puts ":$parsedIn(StudentNumber):$parsedIn(SerialNumber):[format %2d [expr $i+1]]:$selected:$options"
       append parsedIn(answer.$i) $selected
       #puts $parsedIn(answer.$i)
     incr parsedIn(multiplemarks)      incr parsedIn(multiplemarks)
  } else {   } else {
     if { $howmany < 1 } {       if { $howmany < 1 } { 
Line 932  proc parseLine { num answerLine answerSt Line 947  proc parseLine { num answerLine answerSt
     if { $result != "" } {      if { $result != "" } {
  error "$result"   error "$result"
     }      }
       if { [catch {incr gMult $parsedIn(multiplemarks)}] } {
    set gMult $parsedIn(multiplemarks)
       }
   #    puts $gMult
 }  }
   
 proc getAnswers2 { PID set maxQuest num } {  proc getAnswers2 { PID set maxQuest num } {
Line 951  proc getAnswers { PID set maxQuest num } Line 970  proc getAnswers { PID set maxQuest num }
     cd $pwd      cd $pwd
     set result ""      set result ""
     foreach line [split $temp "\n"] {      foreach line [split $temp "\n"] {
  switch [lindex [split $line :] 0] {   switch -- [lindex [split $line :] 0] {
     ANS { lappend result [string range $line 4 end] }      ANS { lappend result [string range $line 4 end] }
  }   }
     }      }
Line 1030  proc handleStudent { num answerStructVar Line 1049  proc handleStudent { num answerStructVar
  if { [catch { set answerStruct(correct.$questionPID) \   if { [catch { set answerStruct(correct.$questionPID) \
   [getAnswers $questionPID $gScorer(set.$num) \    [getAnswers $questionPID $gScorer(set.$num) \
        $answerStruct(maxQuest) $num] } errorMsg ] } {         $answerStruct(maxQuest) $num] } errorMsg ] } {
     puts $errorMsg      catch {puts $errorMsg}
     scorerError $num UNABLE_TO_PARSE "$answerStruct(orignalLine)" \      scorerError $num UNABLE_TO_PARSE "$answerStruct(orignalLine)" \
  $answerStruct(StudentNumber)   $answerStruct(StudentNumber)
     error UNABLE_TO_PARSE      error UNABLE_TO_PARSE
Line 1246  proc setOutput { num answerStructVar} { Line 1265  proc setOutput { num answerStructVar} {
 ###########################################################  ###########################################################
 ###########################################################  ###########################################################
 proc finishScoring { num answerStructVar} {  proc finishScoring { num answerStructVar} {
     global gScorer      global gScorer gMult
     scorerMessage $num "Finishing . . ."      scorerMessage $num "Finishing . . ."
       #puts $gMult
 #    puts "errors:"  #    puts "errors:"
 #    puts "$gScorer(errors.$num)"  #    puts "$gScorer(errors.$num)"
     scorerMessage $num "Finished, Feel free to Update .sb"      scorerMessage $num "Finished, Feel free to Update .sb"
Line 1293  proc scorerStudent { num } { Line 1313  proc scorerStudent { num } {
     set gScorer(needToUpdateDB) 1      set gScorer(needToUpdateDB) 1
 #parseanswerline  #parseanswerline
     if { [catch {parseLine $num $answer answerStruct} errorMsg ] } {      if { [catch {parseLine $num $answer answerStruct} errorMsg ] } {
  displayError "Error parsing line: $errorMsg"   global errorInfo
    displayError "Error parsing line: $errorMsg $errorInfo"
     } else {      } else {
 #parse the set and grades it for any possiblely matching student  #parse the set and grades it for any possiblely matching student
  if { ! [ catch { set result [handleStudent $num answerStruct]} errorMsg ] } {   if { ! [ catch { set result [handleStudent $num answerStruct]} errorMsg ] } {
Line 1359  proc unpauseScorer { num } { Line 1380  proc unpauseScorer { num } {
 proc finalScorer { num method studentNumber numRight } {  proc finalScorer { num method studentNumber numRight } {
     global gScorer      global gScorer
   
       #puts ":$numRight:"
     set answers ""      set answers ""
     for { set i 0 } { $i < $gScorer(numQuest.$num) } { incr i } {      for { set i 0 } { $i < $gScorer(numQuest.$num) } { incr i } {
  switch $gScorer(quest.$i.type.$num) {   switch $gScorer(quest.$i.type.$num) {
Line 1545  proc scorerQuit { num } { Line 1567  proc scorerQuit { num } {
     global gScorer      global gScorer
     set gScorer(pause.$num) 1      set gScorer(pause.$num) 1
     set gScorer(quit.$num) 1      set gScorer(quit.$num) 1
     puts [trace vinfo gScorer(quit.$num)]      #puts [trace vinfo gScorer(quit.$num)]
     catch {scorerMessage $num "Quitting. . . " info}      catch {scorerMessage $num "Quitting. . . " info}
 }  }
   
Line 1557  proc scorerQuit { num } { Line 1579  proc scorerQuit { num } {
 proc scorerClose { num {mustClose 0} {dummy ""} {dummy2 ""} {dummy3 ""}} {  proc scorerClose { num {mustClose 0} {dummy ""} {dummy2 ""} {dummy3 ""}} {
     global gScorer      global gScorer
   
     puts "scorerClose"  
     set message "Are you sure you wish to close?"      set message "Are you sure you wish to close?"
     catch {      catch {
  if { $gScorer(needToUpdateDB) } {   if { $gScorer(needToUpdateDB) } {

Removed from v.1.7  
changed lines
  Added in v.1.12


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>