向 av2 填加:
proc setCfg { b } {
global aList vList
set maxl 0
foreach e $b {
lappend aList [lindex $e 0]
lappend vList [lindex $e 4]
set a [lindex $e 0]
if { [string length $a] > $maxl } {
set maxl [string length $a]
}
}
set i 0
foreach a $aList {
set ff [frame .rc.fff.sub$i]
pack $ff
label $ff.lab -text $a -width $maxl -anchor e
entry $ff.ent
bind $ff.ent [list ValCh $a]
$ff.ent insert 0 [lindex $vList $i]
pack $ff.lab $ff.ent -side left -in $ff
incr i
}
button .rc.fff.b -text "Close" -com {exit}
pack .rc.fff.b
}
这个代码的多数类似于 Part-I。 过程 setCfg 接受一个列表,这个列表是通过一个组件命令(在这个例子中的 .r.b)完成动作"configure"的结果。因为这是个独立运行的应用程序,包含了一个按钮 .rc.fff.b ,它的文本是"Close"命令选项的值是"exit"的。
脚本中新的或变更的行被突出显示了。