Benutzer:AlB/TclTk/Listings1
Erscheinungsbild
Herkunft: s. Tcl/tk: Listings
- Programm1:
#
set anz_farbe 16
#
set gesamtbreite 320
set gesamthoehe 320
#
set aufloesung 20
#
canvas .c1 -width $gesamtbreite -height $gesamthoehe
pack .c1
#
for { set index_y 1 } { $index_y <= $gesamthoehe } { incr index_y $aufloesung } {
for { set index_x 1 } { $index_x <= $gesamtbreite } { incr index_x $aufloesung } {
set anteilrot [expr {$index_y / $aufloesung % $anz_farbe}]
set anteilgruen [expr {$index_x / $aufloesung % $anz_farbe}]
set farbe [format #%x%x0 $anteilrot $anteilgruen]
.c1 create rectangle $index_x $index_y [expr {$index_x + $aufloesung}] [expr {$index_y + $aufloesung}] \
-fill $farbe -outline $farbe
}
}
- Programm2:
#----------------------------------------------
# Display
#----------------------------------------------#
#
entry .display -textvariable anzeige -justify right
grid .display -row 0 -column 0 -columnspan 6 -sticky we
set anzeige ""
#
button .t1 -text "7" -command {append anzeige 7}
button .t2 -text "8" -command {append anzeige 8}
button .t3 -text "9" -command {append anzeige 9}
grid .t1 .t2 .t3 -row 1 -sticky we
button .t4 -text "4" -command {append anzeige 4}
button .t5 -text "5" -command {append anzeige 5}
button .t6 -text "6" -command {append anzeige 6}
grid .t4 .t5 .t6 -row 2 -sticky we
button .t7 -text "1" -command {append anzeige 1}
button .t8 -text "2" -command {append anzeige 2}
button .t9 -text "3" -command {append anzeige 3}
grid .t7 .t8 .t9 -row 3 -sticky we
button .t10 -text "-" -command {set anzeige [expr {$anzeige * -1}]}
button .t11 -text "0" -command {append anzeige 0}
button .t12 -text "." -command {
if {[string first "." $anzeige] < 0} {
append anzeige "."
}
}
grid .t10 .t11 .t12 -row 4 -sticky we
button .t13 -text "+" -command {
set buffer $anzeige
set anzeige ""
set operation "+"
}
button .t14 -text "-" -command {
set buffer $anzeige
set anzeige ""
set operation "-"
}
button .t15 -text "*" -command {
set buffer $anzeige
set anzeige ""
set operation "*"
}
button .t16 -text "/" -command {
set buffer $anzeige
set anzeige ""
set operation "/"
}
grid .t13 -row 1 -column 4 -sticky we
grid .t14 -row 2 -column 4 -sticky we
grid .t15 -row 3 -column 4 -sticky we
grid .t16 -row 4 -column 4 -sticky we
button .t17 -text "C" -command {set anzeige ""}
button .t18 -text " "
button .t19 -text " "
button .t20 -text "=" -command {
if {$operation ne ""} {
set anzeige [expr "1.0 * $buffer $operation $anzeige"]
set buffer 0
set operation ""
}
}
grid .t17 -row 1 -column 5 -sticky we
grid .t18 -row 2 -column 5 -sticky we
grid .t19 -row 3 -column 5 -sticky we
grid .t20 -row 4 -column 5 -sticky we
- Programm3:
#------------------------------------------------------------------------------------------
set farbe(0) #f00
set farbe(1) #0f0
set farbe(2) #00f
set farbe(3) #f70
set farbe(4) #0f7
set farbe(5) #70f
set farbe(6) #ff0
set farbe(7) #0ff
set farbe(8) #f0f
set farbe(9) #7f0
set farbe(10) #07f
#
set farbwerta1 0
set farbwerta2 0
set farbwerta3 0
set farbwertb1 0
set farbwertb2 0
set farbwertb3 0
set farbwertc1 0
set farbwertc2 0
set farbwertc3 0
#
set farbstufen 8
#------------------------------------------------------------------------------------------
#
frame .r1
button .r1.a1 -width 10 -height 5 -background $farbe($farbwerta1)
button .r1.a2 -width 10 -height 5 -background $farbe($farbwerta2)
button .r1.a3 -width 10 -height 5 -background $farbe($farbwerta3)
pack .r1.a1 .r1.a2 .r1.a3
pack .r1 -side left
#
frame .r2
button .r2.b1 -width 10 -height 5 -background $farbe($farbwertb1)
button .r2.b2 -width 10 -height 5 -background $farbe($farbwertb2)
button .r2.b3 -width 10 -height 5 -background $farbe($farbwertb3)
pack .r2.b1 .r2.b2 .r2.b3
pack .r2 -side left
#
frame .r3
button .r3.c1 -width 10 -height 5 -background $farbe($farbwertc1)
button .r3.c2 -width 10 -height 5 -background $farbe($farbwertc2)
button .r3.c3 -width 10 -height 5 -background $farbe($farbwertc3)
pack .r3.c1 .r3.c2 .r3.c3
pack .r3 -side left
#------------------------------------------------------------------------------------------
.r1.a1 configure -command {
set farbwerta1 [expr { ($farbwerta1 + 1) % $farbstufen }]
set farbwertb1 [expr { ($farbwertb1 + 1) % $farbstufen }]
set farbwertc1 [expr { ($farbwertc1 + 1) % $farbstufen }]
set farbwerta2 [expr { ($farbwerta2 + 1) % $farbstufen }]
set farbwerta3 [expr { ($farbwerta3 + 1) % $farbstufen }]
.r1.a1 configure -background $farbe($farbwerta1)
.r2.b1 configure -background $farbe($farbwertb1)
.r3.c1 configure -background $farbe($farbwertc1)
.r1.a2 configure -background $farbe($farbwerta2)
.r1.a3 configure -background $farbe($farbwerta3)
}
#
.r2.b1 configure -command {
set farbwerta1 [expr { ($farbwerta1 + 1) % $farbstufen }]
set farbwertb1 [expr { ($farbwertb1 + 1) % $farbstufen }]
set farbwertc1 [expr { ($farbwertc1 + 1) % $farbstufen }]
set farbwertb2 [expr { ($farbwertb2 + 1) % $farbstufen }]
set farbwertb3 [expr { ($farbwertb3 + 1) % $farbstufen }]
.r1.a1 configure -background $farbe($farbwerta1)
.r2.b1 configure -background $farbe($farbwertb1)
.r3.c1 configure -background $farbe($farbwertc1)
.r2.b2 configure -background $farbe($farbwertb2)
.r2.b3 configure -background $farbe($farbwertb3)
}
#
.r3.c1 configure -command {
set farbwerta1 [expr { ($farbwerta1 + 1) % $farbstufen }]
set farbwertb1 [expr { ($farbwertb1 + 1) % $farbstufen }]
set farbwertc1 [expr { ($farbwertc1 + 1) % $farbstufen }]
set farbwertc2 [expr { ($farbwertc2 + 1) % $farbstufen }]
set farbwertc3 [expr { ($farbwertc3 + 1) % $farbstufen }]
.r1.a1 configure -background $farbe($farbwerta1)
.r2.b1 configure -background $farbe($farbwertb1)
.r3.c1 configure -background $farbe($farbwertc1)
.r3.c2 configure -background $farbe($farbwertc2)
.r3.c3 configure -background $farbe($farbwertc3)
}
#
.r1.a2 configure -command {
set farbwerta1 [expr { ($farbwerta1 + 1) % $farbstufen }]
set farbwertb2 [expr { ($farbwertb2 + 1) % $farbstufen }]
set farbwertc2 [expr { ($farbwertc2 + 1) % $farbstufen }]
set farbwerta2 [expr { ($farbwerta2 + 1) % $farbstufen }]
set farbwerta3 [expr { ($farbwerta3 + 1) % $farbstufen }]
.r1.a1 configure -background $farbe($farbwerta1)
.r2.b2 configure -background $farbe($farbwertb2)
.r3.c2 configure -background $farbe($farbwertc2)
.r1.a2 configure -background $farbe($farbwerta2)
.r1.a3 configure -background $farbe($farbwerta3)
}
#
.r2.b2 configure -command {
set farbwerta2 [expr { ($farbwerta2 + 1) % $farbstufen }]
set farbwertb2 [expr { ($farbwertb2 + 1) % $farbstufen }]
set farbwertc2 [expr { ($farbwertc2 + 1) % $farbstufen }]
set farbwertb1 [expr { ($farbwertb1 + 1) % $farbstufen }]
set farbwertb3 [expr { ($farbwertb3 + 1) % $farbstufen }]
.r1.a2 configure -background $farbe($farbwerta2)
.r2.b2 configure -background $farbe($farbwertb2)
.r3.c2 configure -background $farbe($farbwertc2)
.r2.b1 configure -background $farbe($farbwertb1)
.r2.b3 configure -background $farbe($farbwertb3)
}
#
.r3.c2 configure -command {
set farbwerta2 [expr { ($farbwerta2 + 1) % $farbstufen }]
set farbwertb2 [expr { ($farbwertb2 + 1) % $farbstufen }]
set farbwertc2 [expr { ($farbwertc2 + 1) % $farbstufen }]
set farbwertc1 [expr { ($farbwertc1 + 1) % $farbstufen }]
set farbwertc3 [expr { ($farbwertc3 + 1) % $farbstufen }]
.r1.a2 configure -background $farbe($farbwerta2)
.r2.b2 configure -background $farbe($farbwertb2)
.r3.c2 configure -background $farbe($farbwertc2)
.r3.c1 configure -background $farbe($farbwertc1)
.r3.c3 configure -background $farbe($farbwertc3)
}
#
.r1.a3 configure -command {
set farbwerta3 [expr { ($farbwerta3 + 1) % $farbstufen }]
set farbwertb3 [expr { ($farbwertb3 + 1) % $farbstufen }]
set farbwertc3 [expr { ($farbwertc3 + 1) % $farbstufen }]
set farbwerta1 [expr { ($farbwerta1 + 1) % $farbstufen }]
set farbwerta2 [expr { ($farbwerta2 + 1) % $farbstufen }]
.r1.a3 configure -background $farbe($farbwerta3)
.r2.b3 configure -background $farbe($farbwertb3)
.r3.c3 configure -background $farbe($farbwertc3)
.r1.a1 configure -background $farbe($farbwerta1)
.r1.a2 configure -background $farbe($farbwerta2)
}
#
.r2.b3 configure -command {
set farbwerta3 [expr { ($farbwerta3 + 1) % $farbstufen }]
set farbwertb3 [expr { ($farbwertb3 + 1) % $farbstufen }]
set farbwertc3 [expr { ($farbwertc3 + 1) % $farbstufen }]
set farbwertb1 [expr { ($farbwertb1 + 1) % $farbstufen }]
set farbwertb2 [expr { ($farbwertb2 + 1) % $farbstufen }]
.r1.a3 configure -background $farbe($farbwerta3)
.r2.b3 configure -background $farbe($farbwertb3)
.r3.c3 configure -background $farbe($farbwertc3)
.r2.b1 configure -background $farbe($farbwertb1)
.r2.b2 configure -background $farbe($farbwertb2)
}
#
.r3.c3 configure -command {
set farbwerta3 [expr { ($farbwerta3 + 1) % $farbstufen }]
set farbwertb3 [expr { ($farbwertb3 + 1) % $farbstufen }]
set farbwertc3 [expr { ($farbwertc3 + 1) % $farbstufen }]
set farbwertc1 [expr { ($farbwertc1 + 1) % $farbstufen }]
set farbwertc2 [expr { ($farbwertc2 + 1) % $farbstufen }]
.r1.a3 configure -background $farbe($farbwerta3)
.r2.b3 configure -background $farbe($farbwertb3)
.r3.c3 configure -background $farbe($farbwertc3)
.r3.c1 configure -background $farbe($farbwertc1)
.r3.c2 configure -background $farbe($farbwertc2)
}