• Passing multiple parameters to a procedure

    From niv@21:1/5 to All on Sat Feb 18 05:28:34 2023
    I generate a set of entry widgets & checkboxes as below:

    ##----------------------------------------------------------------------------- ## Labels & Entry for MultiBlock Rows 1 to 10 ##----------------------------------------------------------------------------- ## Grid placement for all the rows ##----------------------------------------------------------------------------- for {set xxx 0} {$xxx < 10} {incr xxx} {

    label $f4a.lb_TIM_$xxx -text "Time" -font {Arial 8 bold} -background white -foreground black
    label $f4a.lb_SPC_$xxx -text " " -font {Arial 8 bold}
    entry $f4a.enMINS_$xxx -textvar MB_mins_$xxx -width 2 -validate all -vcmd {ValidInt %P}
    entry $f4a.enSECS_$xxx -textvar MB_secs_$xxx -width 2 -validate all -vcmd {ValidInt %P}
    entry $f4a.enPWR_$xxx -textvar MB_power_$xxx -width 3 -validate all -vcmd {ValidInt %P}
    entry $f4a.enCAD_$xxx -textvar MB_cad_$xxx -width 3 -validate all -vcmd {ValidInt %P}
    checkbutton $f4a.cbSEL_$xxx -var MB_sel_$xxx -background white -foreground red


    grid $f4a.lb_TIM_$xxx -row [expr $xxx + 1] -column 0
    grid $f4a.enMINS_$xxx -row [expr $xxx + 1] -column 1
    grid $f4a.lb_SPC_$xxx -row [expr $xxx + 1] -column 2
    grid $f4a.enSECS_$xxx -row [expr $xxx + 1] -column 3
    grid $f4a.enPWR_$xxx -row [expr $xxx + 1] -column 4
    grid $f4a.enCAD_$xxx -row [expr $xxx + 1] -column 5
    grid $f4a.cbSEL_$xxx -row [expr $xxx + 1] -column 6
    }

    All that works fine, generating 10 rows each with 4 entries & a checkbox, so 50 data points.
    I cannot see to pass all that info to the procedure that works on the data except to pass all 50 individually, which is not great & pretty inelegant!

    Is there a nice clean way to pass the data to the proc?

    TIA, Kev P.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)