TCL



  • Hallo,

    ich hoffe, dass sich hier irgendwer etwas mit Tcl/TK auskennt. Ich habe folgenden Code:

    set names {"Platform up" "Platform down" "Snapshot" "Save Scene"}
        set cmds {"PLATFORM_UP" "PLATFORM_DOWN" "GRAPHICS_SNAPSHOT" "GRAPHICS_SAVESCENE"}
    
        set i 0
        foreach b $names {
    	set lower [string tolower $b]
    	checkbutton $base.${lower}button \
    	    -command "{$base.${lower}button} configure -state disabled; simSend [lindex $cmds $i] \"::\" 1 {}" -padx 9 -pady 3 \
    	    -text $b -state $dsGui(stateVersion) -indicatoron 0 -selectcolor gray -variable dsGui($lower)
    
    	bind $base.${lower}button <Enter> "bind [winfo toplevel $base] <Escape> {unsetMiscButton [lindex $cmds $i]}"
    	bind $base.${lower}button <Leave> "bind [winfo toplevel $base] <Escape> {}"
    
    	pack $base.${lower}button \
    	    -in $base -anchor center -expand 0 -fill none \
    	    -side left
    	incr i
        }
    

    So wie ich das sehe werden in dem Code 4 Buttons erzeugt. Die Namen der Buttons werden aus dem Array names erzeugt. Der 3. Button heisst z.B. snapshotbutton. Was ich nicht verstehe: Wie heissen die anderen Buttons? Die anderen 3 Strings in names haben ja leerzeichen und ich sehe nirgends einen Aufruf einer Funktion a la trim().
    Eigentlich mueeste doch dann der letzte Button $base.save scenebutton heissen? Ich hab das schon probiert, aber da meckert er rum, da offenbar Bezeichner mit Leerzeichen nicht gehen (was ja logisch is). $base.savescenebutton scheint allerdings auch nicht zu gehen. Kann mir jemand sagen wie meine Buttons heissen?


Anmelden zum Antworten