• Passing multiple parameters to a procedure

    From niv@nivparsons@gmail.com to comp.lang.vhdl on Sat Feb 18 05:28:34 2023
    From Newsgroup: comp.lang.vhdl

    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.
    --- Synchronet 3.21d-Linux NewsLink 1.2