| af Martin Elsman og Niels Hallenberg | sidst rettet 15. februar, 2001 |
election.tcl
således at der centreret under knappen "Gore" skrives en af de fem
mulige tekster (dog er tallet 10 tilfældigt valgt):
Du kan f.eks. anvende en procedure status efter denne
skabelon:
proc status { bush gore } {
if { $bush - $gore == 1 } {
return "Bush fører med 1 stemme"
} elseif { $bush - $gore > 1 } {
...
} elseif { ... } {
...
} elseif { ... } {
...
} else {
...
}
}
Procedureren status skal da kaldes fra procedureren
form_update.
election.tcl med et
søjlediagram med to liggende søjler der viser de forholdsmæssige
stemmetal for Bush og Gore. Placer søjlerne under knapperne som vist
nedenfor. Skaler søjlerne så søjlen for den førende kandidat udfylder
90% af skærmbredden (hvis begge kandidater har nul stemmer skal der
ikke vises noget). Denne opgave ligger tæt op af histogrameksemplet
histogram2.tcl fra forelæsning 5.
Du kan f.eks. anvende en procedure soejler efter denne
skabelon:
proc soejler { bush gore } {
if { $bush < $gore } {
set max ...
} else {
...
}
# Hvis max er nul, så vil vi slet ikke tegne nogen søjler.
if {$max == 0} {
return ""
}
set w_bush [expr int($bush * 90.0 / $max)] ; # Vi regner først med kommatal og
set w_gore [expr int( ... )] ; # afrunder til heltal med int.
return "<table width=$w_bush%>
<tr><td bgcolor=red width=$w_bush%>Bush: $bush</td></tr>
</table>
<table width=$w_gore%>
<tr><td bgcolor=red width=$w_gore%>Gore: $gore</td></tr>
</table>\n"
}
Procedureren soejler skal da kaldes fra procedureren
form_update.