Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.0.0 - English


TCL_SetVar

Set a tcl/tk variable value

Syntax

TCL_SetVar(varname, value [,interp])

Arguments

varname

character string. Contains the name of the tcl/tk variable to set.

value

may be a character string, a scalar, a real or string matrix (m x n). Contains the value to give to the tcl/tk variable.

interp

optional character string parameter. Name of the slave tcl interpreter in which the operation has to be performed. If not provided, it defaults to the main tcl interpreter created by Scilab.

Description

This routine allows to set a variable within a tcl/tk interpreter. When tcl/tk support is enabled in scilab, this routine can be used to set up the value of a tcl/tk variable. This can be useful to change some value in the tcl/tk interpreter without having to build a tcl/tk instruction (and use TCL_EvalStr).

More information about Tcl/Tk: http://www.tcl.tk/doc/

Note: TCL variables are not saved by save function since they are not Scilab variables.

TCL_SetVar("myPi", 3.14);   // Creates the myPi variable in the TCL session
myPi    // => error: the variable is a TCL one, not a Scilab one => It can't be saved
--> myPi
Undefined variable: myPi
        

Examples

TCL_EvalStr("toplevel .tst1");

// creates a toplevel TK window.
TCL_EvalStr("entry .tst1.e -textvariable tvar");

// create an editable entry
TCL_EvalStr("set tvar foobar");

// set the entry value
TCL_EvalStr("pack .tst1.e");

// pack the entry widget. It appears on the screen.
text=TCL_GetVar("tvar")

// retrieve the variable value
// change the entry text and repeat the last command ...
//delete the toplevel TK window.
TCL_EvalStr("destroy .tst1")

//----------------------------------------------------
a=["A","B","C";"D","E","F"];
TCL_SetVar("A",a)
AfromTCL=TCL_GetVar("A")

//----------------------------------------------------
b=[6,4,1;2,3,5];
TCL_SetVar("B",b)
BfromTCL=TCL_GetVar("B")

//----------------------------------------------------
TCL_SetVar("StringTCL","string")
StringFromTCL=TCL_GetVar("StringTCL")

//----------------------------------------------------
TCL_SetVar("ScalarTCL",1.22)
ScalarFromTCL=TCL_GetVar("ScalarTCL")

//----------------------------------------------------
// Examples with a slave interpreter
//----------------------------------------------------
TCL_CreateSlave('TCLSlave')
a=['AA','BB','CC';'DD','EE','FF'];
TCL_SetVar("A_slave",a,'TCLSlave')
AfromTCL_slave=TCL_GetVar('A_slave','TCLSlave')
TCL_DeleteInterp('TCLSlave')

//----------------------------------------------------
TCL_CreateSlave('TCLSlave')
b=[66,44,11;22,33,55];
TCL_SetVar("B_slave",b,'TCLSlave')
BfromTCL_slave=TCL_GetVar('B_slave','TCLSlave')
TCL_DeleteInterp('TCLSlave')

//----------------------------------------------------
TCL_CreateSlave('TCLSlave')
TCL_SetVar("StringTCL_slave","string in slave interpreter",'TCLSlave')
StringFromTCL_slave=TCL_GetVar("StringTCL_slave",'TCLSlave')
TCL_DeleteInterp('TCLSlave')

//----------------------------------------------------
TCL_CreateSlave('TCLSlave')
TCL_SetVar("ScalarTCL_slave",1.22,'TCLSlave')
ScalarFromTCL_slave=TCL_GetVar("ScalarTCL_slave",'TCLSlave')
TCL_DeleteInterp('TCLSlave')

See also

Report an issue
<< TCL_GetVersion Tcl/Tk Interface TCL_UnsetVar >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Oct 24 14:30:10 CEST 2023