--- capa/capa51/GUITools/capastats.tcl 2000/01/10 22:40:30 1.9 +++ capa/capa51/GUITools/capastats.tcl 2000/02/22 18:10:27 1.13 @@ -597,7 +597,9 @@ proc CTparseSubmissionsLine { aline num set gCT($num.response) "" set interesting 0 set current 1 - foreach {quest response} [lrange $aline 2 end] { + foreach element [lrange $aline 2 end] { + set quest [lindex $element 0] + set response [lindex $element 1] if { $quest == "" } break while { $quest > $current } { lappend gCT($num.response) {} @@ -1099,13 +1101,14 @@ proc CTcollectSetScores { num path id on set char [lindex $ans_char $i] if { $char == "N" || $char == "n"} { set found 1 } if { $char == "Y" || $char == "y"} { - incr score [lindex $weights $i];set found 1 + catch {incr score [lindex $weights $i]} + set found 1 } if { $char >= 0 && $char <= 9 } { incr score $char;set found 1 } if { $char == "E" } { - incr valid_weights "-[lindex $weights $i]" + catch {incr valid_weights "-[lindex $weights $i]"} } } incr total_scores $score @@ -1572,14 +1575,14 @@ proc CTitemCorrelation { num classpath s ## $ans_char($ii) is one of 0 .. 9, Y, y, N, n ## $ans_char($jj) is one of 0 .. 9, Y, y, N, n if { $ans_char($ii) == "Y" || $ans_char($ii) == "y" } { - set x_data [lindex $weights $ii] + if {[set x_data [lindex $weights $ii]]==""} {set x_data 0} } elseif { $ans_char($ii) == "N" || $ans_char($ii) == "n" } { set x_data 0 } else { ## must be in 0 .. 9 set x_data $ans_char($ii) } if { $ans_char($jj) == "Y" || $ans_char($jj) == "y" } { - set y_data [lindex $weights $jj] + if {[set y_data [lindex $weights $jj]]==""} {set y_data 0} } elseif { $ans_char($jj) == "N" || $ans_char($jj) == "n" } { set y_data 0 } else { ## must be in 0 .. 9 @@ -1720,7 +1723,7 @@ proc CTreportDist { num file percentage } set aline [gets $fileId] } - CTputs $num "Scores #acheived\n" + CTputs $num "Scores #achieved\n" set scorelist "" set templist [array names totals *.score] foreach temp $templist {lappend possiblescores [lindex [split $temp .] 0]} @@ -1797,7 +1800,7 @@ proc CTgradeDistribution { num classpath removeStatus $num displayStatus "Pondering data . . ." spinner $num CTputs $num " There are $valid_cnt entries in file $filename\n" - CTputs $num "Score #acheived\n" + CTputs $num "Score #achieved\n" set scorelist "" foreach score [lsort -integer [array names total_score]] { CTputs $num [format "%5d:%6d\n" $score $total_score($score)] @@ -1884,7 +1887,7 @@ proc CTgradeDistributionRange { num clas set total_score($i) 0 } foreach sNum [array names studentScores] { incr total_score($studentScores($sNum)) } - CTputs $num "Scores #acheived\n" + CTputs $num "Scores #achieved\n" set scorelist "" foreach score [lsort -integer [array names total_score]] { CTputs $num [format "%5d:%6d\n" $score $total_score($score)] @@ -2537,8 +2540,10 @@ proc CTdisplayStudent { num window path label $infoFrame.label -text $id pack $infoFrame.label - - set canvas [canvas $imageFrame.canvas] + + set height [image height $image] + set width [image width $image] + set canvas [canvas $imageFrame.canvas -height $height -width $width] pack $canvas $canvas create image 1 1 -image $image -anchor nw } @@ -2683,7 +2688,7 @@ proc CTdiscussForum { num file dir resul while {![eof $fileId]} { incr line_cnt if { ($line_cnt%20) == 0 } { updateStatusBar [expr $line_cnt/double($maxLine)] $num } - foreach {stunum capaid name email action set prob date time} [split $aline "|"] {} + foreach {stunum capaid name email action set prob date time blank} [split $aline "|"] {} if {$specificSet && ($specificSet == $set)} {set aline [gets $fileId];continue} if { $action == "ViewProblem" } { if { [catch {incr count($set,$prob)}]} { @@ -2730,8 +2735,8 @@ proc CTdiscussForum { num file dir resul close $fileId set result($num.viewers) [llength [array names ever]] set result($num.last) $last - #IDEAS: stick into capastats - # : howmany viws are repeats + #IDEAS: + # : how many views are repeats # : Student Course Profile, add #ViewProblems #Posts # : add some portion of these stats to analyze log files? } @@ -2907,7 +2912,7 @@ proc CTcreateSummaryReport { num cmdnum set file Sec$gCT(summary.section.$cmdnum)Set$gCT(summary.set.$cmdnum).rpt } default { - displayError "An error has occured while creating a summary \ + displayError "An error has occurred while creating a summary \ report $gCT(summary.section.$cmdnum)" return } @@ -2951,4 +2956,4 @@ proc CTsetList { file } { } } return $list -} \ No newline at end of file +}