如何在tcl中使移动节点保持静态?

代码: set val(chan)信道/无线信道 设置val(道具)传播/双光线地面 设置val(ant)天线/全向天线 设置值(ll)ll 设置val(ifq)队列/DropTail/PriQueue 设置值(ifqlen)50 设置值(netif)物理/无线物理 设置val(mac)mac/802_11 设置值(rp)DSDV 设定值(nn)15 设定值(x)700 设定值(y)500 设定值(停止)130 设置ns[新模拟器] set tracefd[open trust.tr w] 设置

验证TK/Tcl中的条目

我正在尝试验证条目的文本输入 entry $w.e -validate key -vcmd "entryChanged $w.l $w.e" 我定义了以下回调 proc entryChanged {l e} { puts [$e get] return 1 } 问题是get返回条目的前一个值,因为新值直到验证之后才设置。我的问题是如何访问新值?(待验证的值)我相信它与-textvariable有关,但是,我找不到太多关于这方面的文档。您需要仔细阅读。例如,试试这个 ... -

Tcl 通过变量中断while循环,然后使用vwait等待循环结束。不工作?

我目前有一个GUI,经过一些自动化(使用expect)后,它允许用户与10个telnet连接中的一个进行交互。使用以下循环完成交互: #After selecting an item from the menu, this allows the user to interact with that process proc processInteraction {whichVariable id id_list user_id} { if {$whichVariable == 1} {

TCL中的转义单引号和双引号

我正在使用以下脚本,但它会抛出错误消息 tcl 它将错误显示为:预期的单词get'和' 我尝试了部件的,但仍然不起作用。如果它同时具有单引号和双引号,如何避开它们 单报价与Tcl 在Tcl本身中,单引号字符(“)没有任何特殊意义。它只是一个普通字符,如逗号(,)或句点()。(好吧,除了逗号在表达式中有特殊含义外,句点在浮点值和Tk小部件名称中使用。相比之下,单引号没有任何意义。) 对于您所写的内容,任何特殊含义(以及因此而需要引用的内容)仅限于add命令 在Tcl中,复杂的报价情况通常通过使用不

Tcl 如何在foreach循环中插入换行符并获取数据

我有一组字段要从文件中解析,我在foreach循环中一行一行地解析,我想知道如何跳过一行转到下一行 例如:如果遇到一个名为“ABC”的字符串,我需要在下一行中获取一个数字 some characters "ABC" 123 “ABC”几个字 123 问题是文件中有很多数字,但我需要抓取一个数字,特别是字符串“ABC”后的换行符后的数字 我该怎么做 你可以试试这个简单的解决方案 set trigger 0 set fh [open "your_file" "r"] while {[gets $f

Tcl 如何通过引用将参数传递给proc?

是否有任何可靠的方法通过引用将参数传递给proc(不使用upvar)?否。如果您希望能够在过程内部修改值,并使修改在外部可见,则不需要 Tcl的过程严格按照值传递参数(实现实际上是通过不可变引用传递的,这对于复杂结构来说更便宜,并且在幕后使用了一种写时拷贝修改技术;它看起来像是通过值传递的)因此,你不能影响外部世界,除非用类似于upvar的东西把它带进来。有时,您传入的内容可能是可修改条目(例如,类实例、DOM节点)的句柄,然后您可以观察到与外部的差异,但这并不是实际修改传入的内容(句柄)而是它

TCL从列表列表中匹配的每个列表中获取第n项

我正在寻找一种很好的方法,如果嵌套列表符合条件,就可以从列表列表中获取每n个项目。 因此,如果我有以下清单: set x [list [list a 1] [list b 2] [list a 3] [list b 4]] 查找列表中第一项为“a”的所有第二项 我想得到{13}。 (列表是一个键值对,因此简而言之,我需要指定键的所有值) 这就是工作: lsearch -all -index 1 -inline -subindices [lsearch -all -index 0 -inline

TCL/TK如何将多个参数传递给按钮回调函数?

我有这样的代码 proc press2 {v sbit} { puts $v puts $sbit } : : button .t.ok2 -text "OKI" -command "press2 $v $sbit" 这样我就得到了错误错误#args:应该是“press2 v sbit” 如果我将其更改为button.t.ok2-te

如何在tcl中使用aes算法解密十六进制流

我已经用带密钥的密码解密了一个示例文本 现在我正在尝试使用tcl中的aes包解密获得的十六进制数据 例如: 使用上述工具解密hello world 使用的键:121301080D010518130E082007136412 获得的十六进制数据:edb191802afcec0deca6c9d725063cbc set hexData "edb191802afcec0deca6c9d725063cbc" set key 121301080D010518130E082007136412 aes::a

在TCL中将文件的每一行拆分为一个新文件

我试图读取文件中的每一行,并将该行复制到新文件中。然后第二行进入第二个文件,依此类推。我使用以下代码,但不是一行,而是每个文件中的所有行。非常感谢 set fp [open "point_dip.txt" r ] set file_data [read $fp] set lines [split $file_data "\n"] set ii 1 foreach line $lines { set filename "$ii.txt" set fileId [open $f

tcl中的TCP套接字编程

我正在编写一个web服务器,其中web服务器将从客户端接收Hello请求,因此我必须发送Hello响应。在发送hello响应后,它进入命令执行模式,这里给出的任何命令都将发送到客户端 在这里,在收到hello请求后,服务器正在发送确认信息。这样插座就可以关上了。当我发送hello响应时,连接被关闭(客户端正在用[RST,ACK]进行响应)。如何停止自动确认hello请求数据包并保持套接字打开直到服务器关闭 proc dmePrompt {} { puts -nonewline "DME#

如何在tcl中使用puts更改彩色文本

我想通过在tcl中使用puts命令来更改控制台中显示的文本颜色,以简化调试。我看到很多文章是abt-tk而不是tcl。仅供参考,我正在windows 7上使用活动tcl 我尝试了他人()提供的以下代码,但没有成功: 将“为什么不将\033\[34mG\033\[31mo\033\[33mo\033\[34mG\033\[32ml\033\[31me\033\[0m放在第一位?” 请给出建议。您引用的代码对我很有用(OSX、Terminal.app;Tcl 8.4、8.5和8.6),我希望它在Li

从TCL中的当前时间戳添加1440分钟

我在使用此代码的TCL中使用了[unixtime]: proc unixtime {} { return [clock seconds] } 如何从返回的时间中添加1440分钟(1天)?使用时钟添加。。。1天: % proc unixtime {} { return [clock seconds] } % set time [unixtime] 1429558336 % clock format $time Mon Apr 20 14:32:16 CDT 2015 % set time [cl

Tcl 在后台使用expect执行并行进程

我有一个脚本,它在不同的线卡视差中执行一些命令,问题是脚本在6个线卡上成功运行,但更多的是它说send:spawn id exp10 not open 我正在对脚本中的同一ip进行telnet,然后连接到线路卡,在这里,每个会话脚本都会创建相同的expect spawn id,这就是为什么它会说spawn id未打开,因为以前的一些线路卡的会话可能已过期 但我还是做了一些睡眠,以确保没有后台会话过期,但我发现6个会话expect在后台无法完成 脚本是这行的东西- for {set current

Tcl中的双冒号::

在一些EDA工具的Tcl脚本(即Cadence eUnter)中,double::做什么 report::TimeStamp PrePlace "START PrePlace" 它将名称空间(左侧)与该名称空间中包含的名称(右侧)分开 由于在Tcl脚本中,任何顶级构造始终是一个命令,并且该命令的名称始终是该命令的第一个字,report::TimeStamp在名为“report”的命名空间中引用名为“TimeStamp”的命令,而“PrePlace”和“START PrePlace”是调用该命令

根据条目输入TCL删除文件中的字符串

我制作了一个简单的程序,接受简短的用户输入并将其存储在一个文件中。另一个按钮将文件中的每个输入显示为一个按钮。我正在尝试创建另一个进程,当我单击由字符串生成的按钮时,该进程将删除该按钮以及文件中的字符串。我该怎么做?我尝试对保存值的变量regsub,但似乎删除了一次,而不是每次 获取当前目录的代码 catch { set abspath [file readlink [info script]]} if { ![info exists abspath]} { set abspath $argv

Tcl 如何读取存储值的变量名

TCL程序示例: proc fun { x } { puts "$$x = $x" } set a 10 fun $a 在上面这个程序中,它将输出打印为$10=10,但我想得到a=10的输出。必须读取传递值的变量以及相应的值。有没有办法读取变量名 % set x a a % set a 10 10 % eval puts $x=$$x a=10 % puts "$x = [subst $$x]" a = 10 % puts "$x = [set $x]" a = 10 % 如果要将变

tcl脚本,与[…]和[expr]斗争

我不明白赋值和变量的使用在Tcl中是如何工作的 即: 如果我做了类似的事情 set a 5 set b 10 我也是 set c [$a + $b] 按照互联网上的说法: 通过将命令放置在正方形中,可以获得命令的结果 括号([])。这是功能相当于单曲的背部 在sh编程中引用(`),或使用函数的返回值 在C 所以我的语句应该将c设置为15,对吗? 如果是的话,这两种方法有什么区别 set c [expr $a + $b] ?? 如果否,该声明的作用是什么 set c [$a + $b] 运

Tcl字节码和进程

我在c中使用tcl,一般来说,我们为tcl脚本的每次执行创建一个新的名称空间。 如果我在脚本中使用proc,它会在同一命名空间下的中吗? proc如何转换成字节码?它是否在调用方的同一命名空间下转换?它是否位于不同的命名空间上,并且可能使字节码无效 你能给我简单解释一下什么是tcl字节码,我们如何从散列中获取变量(包括本地变量和全局变量),以及upvar是如何影响它的吗 非常感谢 Tcl中的每个过程都知道它的名称空间是什么;它与包含其名称的名称空间相同(始终有一个名称空间;全局名称空间称为:)。

Tcl 为什么可以';我不能访问错误信息和错误代码

我有以下代码: $ cat ~/tmp/2.tcl set zero 0 proc p1 {} { if {[catch {expr 1/$zero} err]} { puts "errorCode=$errorCode" puts "errorInfo=$errorInfo" } } p1 当我获取源代码时,访问错误代码时出错: $ tclsh ~/tmp/2.tcl can't read "errorCode": no such varia

从tcl文件中查找是否存在internet连接

您好,我有一个用tcl tk编写的应用程序,我需要检查该应用程序将在tcl代码中运行的机器中是否存在internet连接。有没有一种方法可以通过tcl知道是否存在互联网连接。你能帮忙吗 您可以使用ping测试,并且有一个脚本,看起来很容易理解。简单的ping测试可能会出现一些微妙的错误,特别是对于奇怪的捕获门户。这是一个非常清楚你想要做什么的领域。

在全球级别以itcl代码寻找tcl文件

我有一个tcl文件,它几乎没有定义配置过程。我的一个应用程序在itcl中编码,它需要为每个对象调用这些配置过程。我无法在itcl的全局级别上获取TCL文件的源代码。它只允许在公共方法中进行采购,但这不是我想要的。我想一次只为所有对象获取tcl文件的源代码,然后使用它直到程序运行。 有什么建议吗 感谢使用source命令总是在当前级别评估文件的内容;实际上,只需将文件内容读入字符串,然后eval即可(除了info script中的一些小技巧)。这意味着,如果要在全局上下文中源文件,应执行以下操作之

如何找到在Tcl中声明函数的位置?

我认为这更多的是Tcl配置问题,而不是Tcl编码问题 我继承了一整套Tcl脚本,这些脚本在我的公司内部构建的模拟工具中使用。在我的脚本中,我发现了许多实例,其中存在对函数的函数调用,而这些函数似乎没有在任何地方声明。如何跟踪这些幻影函数的路径 例如,有些人不使用源代码,而是构建一个名为包含的自定义包含函数。当我尝试在那里运行Tlsh时,Tlsh显然会犹豫,但使用我的模拟软件,它运行得很好 我已经试着在整个模拟软件中搜索INCLUDE,但是我没有任何运气。在模拟软件之外,是否还有其他明显的位置可以

在Tcl shell中编写Tcl脚本时,如何让Tcl将脚本中的每个Tcl命令打印到shell中?

运行我们的软件将在终端中启动一个Tcl shell,然后我们可以通过一个Tcl脚本文件在这个Tcl shell中执行一系列Tcl命令。但是tcl脚本文件中的tcl命令不会打印在tcl shell上,因此,我们无法看到源tcl脚本执行了哪些命令 所以我的问题是,当脚本源代码生成时,Tcl是否有任何配置可以打印出脚本中的命令 下面是一个示例tcl脚本 # sample.tcl, composed of 3 tcl commands: read designfile analyze write out

如何在TCL文件的字符串变量中添加括号

我已经编写了一个TCL脚本,但在创建字符串变量时有一个问题,如下所示: set a 100 set b "this is variable[$a]" 我想用b=“这是变量[100]”分配b,但我得到了错误: invalid command name 100 无效的命令名100 请帮我修好它:-(。你只需要逃出它: set a 100 set b "this is variable\[$a\]" 其他可能性(但最好避开括号): 文件: , , 请参见,特别是规则#7从技术上讲,我们只需要避开开

Tcl/Tk:如何在运行代码的同时创建progressbar?

我希望我们一进入foo,progressbar就会出现并水平运行, 除此之外,foo代码也应该在运行, 当foo中的所有内容完成时,progressbar应该100%水平显示并消失 怎么做您正在寻找的小部件是(Tcl)或(Python)。您需要决定是在确定模式还是不确定模式下使用它,诸如此类 使用进度条有一个关键的棘手问题:需要在显示事件循环时保持其运行。这意味着您需要将工作放在单独的线程中,或者定期调用update。这两种选择都有其棘手的方面: 当使用单独的工作线程时,该线程不能接触GUI。相

Tcl:在所有级别中搜索变量

我问题的背景:我想写一个错误过程,写出一条额外的消息,帮助识别错误情况。我在代码的某些部分提供了这些附加信息,而在其他部分则没有。我的想法是: 将全局消息变量message设置为空字符串 在调用可能导致错误的过程之前,创建本地消息变量message 在错误过程中:向下搜索所有级别的变量消息,并获取找到的第一个变量的值 我还可以设置一个全局消息变量并始终访问该变量,但之后我必须重置它(以防止在未设置消息的其他部分中出现恼人的错误消息) 我写了一个searchVar过程: proc search

我应该如何构造我的TCL代码?

我是TCl的新手,在学习过程中遇到了一些问题 然而,我需要知道你们中是否有人有一些脚本或想法,以便我可以使我的代码更结构化,即更可读,如果我们谈论的是“普通”Tcl(也就是说,没有任何旨在更好结构化的扩展),我个人会推荐和撰写文章 您也可以使用Tcl进行对象定向。TCL8.6将配备一个核心OO包,但没有。就我个人而言,我已经成功地将其用作一个普通的Tcl OO系统 就我个人而言,如果我们谈论的是“普通”Tcl(也就是说,没有任何旨在更好地构建结构的扩展),我会推荐和撰写文章 您也可以使用Tcl进

什么是@&引用;TCL中的符号是什么意思?

我遇到了用TCL编写的代码: set GSID(featureSetDesc) @$GSID(descPath)/featDesc 但我似乎找不到“@”符号在TCL中代表什么。。任何帮助都将不胜感激 广告at符号(@)对Tcl来说没有任何特殊意义。它是一个普通的非字母非空白字符。(这确实意味着在某些地方,比如在什么时候,比如光标或图标,需要Tk,但这在当今是一个相当深奥的用法。) 嗯,有一个例外,那就是中的频道重定向。但在这种情况下,情况并非如此。假设变量GSID(descPath

关于TCL-OO(TCL中的面向对象编程)的资源

我正在实习,实习要求我学习和实践TCL-OO,所以我一直在寻找有关TCL-OO的教程、示例和书籍,但我找不到任何东西,因此如果有人能给我一些关于TCL-OO的好建议,我将不胜感激 我在网上做了一些研究,发现了这些资料 链接: 书籍: clif Flynt编写的TCL/TK a开发人员指南第三版-只有两章介绍TCL-OO 因此,除了这两个参考资料之外,如果有人能给我提供额外的资料,那将是非常棒的。提前谢谢你的链接是关于Tcl 8.6中包含的新OO支持,它仍在开发中,这个OO子系统的资源很难找到,

如何在tcl中对数组进行排序?

我有一个这种类型的数组: cat1 A B C 12 cat1 E F G 10 cat2 C F G 4 cat2 H F S 12 cat3 F G M -12 ... 我不知道我有多少种类可供输入 我希望在输出中有一个按类别的文件,按最后一列排序 cat1 E F G 10 cat1 A B C 12 对于第一个文件 cat2 C F G 4 cat2 H F S 12 对于第二个文件,等等 我把这个列为三: 我把每一行都放在一个$list{{cat1abc12}{cat1efg10

如何解释${variableName}中的tcl花括号?

我是TCL编程的新手。我对花括号感到困惑,对这个问题的回答消除了我大部分的疑虑。 我能理解$var,{var}和{$var},但最近我遇到了另一个大括号的用法,${var}。TCL对此有何解释? 我已经看到,当名称空间名称位于变量中时,在访问名称空间中的变量时会使用这种方法 例如: set x myNamespace ;#myNamespace is name of namespace puts [set ${x}::var1] ;#var1 is variable in the name

在NS2的tcl脚本中传递命令行参数

我想通过命令行参数创建拓扑。我在命令行参数中传递了节点号。这是我的命令 ns sat-wired2.tcl 30 这是tcl脚本片段 set var [lindex $argv 1] for {set i 0} {$i < $var } {incr i} { $ns duplex-link $n($i) $n([($i+1)]) 1Mb 2ms DropTail } $ns duplex-link $n($var) $n1 1Mb 10ms DropTail 我是tcl和NS2的

将字符串设置为TCL中的列表值

我在TCL中有一个列表: {word0}{word1}{word2}{word3} 我需要为列表中的一个值设置一个新字符串。这句话的语法是什么 set test {$my_list 0} set test [$my_list 0] 两者都不起作用 很抱歉提出新问题,但我不熟悉此语法,在文档中找不到它。您可以使用: 在Tcl中,列表中的第一个元素的索引为0。您可以使用: 在Tcl中,列表中的第一个元素的索引为0。您希望得到什么结果?否则我不确定我是否理解你的问题。结果应该是word0。对于$my

如何在出现错误时停止tcl脚本?

当当前命令执行过程中出现错误时,bashshell使用-e开关停止执行。在tcl中是否有类似的方法来执行相同的操作,或者我是否应该使用catch命令?如果您使用的是运行tcl脚本的类似shell的工具,并且它没有任何在出现错误时退出的选项,那么是的,您必须自己捕获错误并从错误处理程序中调用exit。您可以使用catch或try命令执行此操作 文档:,我使用的是catch,但您也有可用的文档,可能还有一些我不知道的文档。Tcl脚本的默认行为是在引发未捕获的异常时退出。请澄清您的问题。我使用EDA工

Tcl 笔记本ttk关闭选项卡

我希望添加一个绑定来关闭我的标签ttk::notebook。 我正在使用面向对象的tcl对象 我添加了一个图像图标X,它是确定的,但当我点击它,绑定是不正确的 你能帮我用tcl OO吗? 这是我的代码: oo::define CLASS method setTAB {command} { my variable m_noteApp set name [frame "toto"] $m_noteApp add $name -text "TAB1" -image "close" -compound

TCL,接收参数作为参数,并将其传递给另一个过程

我尝试在TCL中执行以下操作,但得到了以下错误 “列表必须是偶数个元素”,因为$args在传递给B时被视为一个列表 有没有一种聪明的方法将$args传递给B proc A {a args} { #call B and pass it args B 2 $args } proc B {b args} { set options(-flag1) 0 set options(-option) serial array set options

在tcl 8.4中获取行号

我需要在它的主体中获取tcl proc的调用行号 从8.5开始,tcl具有允许以下操作的信息帧命令: proc printLine {} { set lineNum [dict get [info frame 1] line] } 我需要同样的8.4版本它在8.4版本中不可用;数据根本没有收集。我想你可以在队列中搜索一个唯一的标记,但那就差不多了 proc lineNumber {uniqueToken} { set name [lindex [info level 1] 0

Tcl 抑制Modelsim中的特定IP警告

Vivado IP正在生成过多的Modelsim警告,这使得很难评估我实际关心的警告的模拟 我从Modelsim命令中看到,为了抑制警告,我需要包括参数-suppress,然后是警告号。我当前的实现如下 vsim -voptargs=+acc \ -L work \ -L xil_defaultlib \ -L secureip \ -L simprims_ver \ -L unifast_ver \ -L unimacro_ver \ -L unisims_ver \ -L xpm \ -L

读取tcl中两列条目匹配的4列文件

我通过源代码文件在文本文件中记录移动节点的坐标。我想从tcl脚本中读取这个文本文件,以访问特定节点最近记录的坐标。下面是我已经尝试过的代码,但它没有返回任何内容 proc accessLoc { attime node_id} { set fb [open "node_info.txt" r] set filecontent [read $fb] set input_list [split $filecontent "\n"] set data [lsearch

无效的命令名";tcl查找图书馆;

我正在尝试运行一个非常基本的tcl/tk脚本来创建GUI,并且我能够使用wm定义窗口,但是,当我尝试仅使用“button”添加按钮时,会出现错误“无效的命令名”tcl_findLibrary“。有人知道这是什么原因吗?我相信tcl和tk是同一个版本。其他人建议这是版本之间的不匹配,因此我尝试将脚本中的第一行作为: 取消设置环境(TCL_库) 然而,这并没有改变任何事情。我在一块不是我自己的硬件上写这个脚本,所以我没有权限实际更改环境变量。有人有什么建议吗?在我的Win10机器上,我遇到了以下两个

将Tcl与Jupyter笔记本一起使用

我下载了Anaconda,并一直在使用Jupyter笔记本。现在我想把它和Tcl一起使用。我按照(pip3安装tcl_内核)中的说明进行操作。 它已安装在AppData\Local\Programs\Python\Python36-32中。 但是,Tcl并没有作为新笔记本电脑的选项出现。 有人能提供建议吗? 谢谢。我没有看到在“新建”下列出的内核——但是如果我打开另一个笔记本并尝试“内核”菜单,有一个“更改内核”项可以完成这项工作。在Jupyter笔记本上安装Tcl:intel提供了一个用于Ju

在ns2_new中用tcl脚本编写过程平均值

我在ns2软件中编写了一个场景,其中有5个固定节点和1个移动接收器。 移动接收器应该收集节点的信息。 我想计算平均值(能量水平、节点数量和节点上的流量数据),并将其存储在移动接收器中。 我编写的my代码没有任何错误,但不会打印出来。 我的代码和跟踪文件在附件中 我必须用tcl脚本代码中的proc计算这个平均值,而不是用awk代码。请帮助我 proc create_common_app{destination_id displaying_type displaying_interval ener

Tcl 按每秒钟一项循环浏览字典

我有一个我想循环的结构 dict set gm_info$gm…. $gm的值从0变为47 我用这个循环浏览这本词典 dict for {gm gminfo} $gm_info { dict with gminfo { ... } } 我想以2而不是1的增量循环。也就是说,我想读gm=0,2,4,6,…这似乎更容易做到 for {set i 0} {$i <= 47} {incr i 2} { dict with gm_info $i

TCL regsub替换文件名中的last/in

要将文件名中的最后一个/替换为:,我尝试了以下代码 set x a/b/c regsub {.*(\/)\S+$} $x {:} 不希望出现的结果是: 所需的结果是a/b:c 示例: a -> a a/b -> a:b aa/b -> aa:b aa/bb/.../dd/e -> aa/bb/.../dd:e 感谢您的反馈。对于正则表达式,您可以说 set new [regsub {/([^/]+)$} $x {:\1}] ;# ==> a/b:c

Tcl 从字符串中删除双倒逗号

我有这样一句话: {"a/b"} {"c/d"} {"e/f"} 我希望输出为: a/b c/d e/f 基本上我想从现有的行中删除所有的“和{}” 在TCL我应该怎么做 我尝试过使用字符串修剪,但没有帮助 set z {{"a/b"} {"c/d"} {"e/f"}} set trimmed_z [string trim $z "\"\"\}\{"] 它给 a/b"} {"c/d"} {"e/f string trim将仅删除字符串末端的字符,即仅删除开头和结尾的字符。您可以使用: 否

如何在TCL中对嵌套字典进行排序

我在TCL中有一个嵌套字典,其中特定索引的值在子索引值处未排序,例如,在这个字典中,我想在排序时对55,21,36进行排序并移动子键,我还想在移动子键时对103344,3进行排序 我很困惑一个人是如何做这样的事情的。我不能使用lsort-index-stride,因为我的子字典不是一个扁平列表 a1,a2 {0,6 {103 55} 1,5 {344 21} 6,7 {3 36}} 预期输出1[基于21,36,55[最终子值]排序,55使用其键一直到最后] a1,a2 {1,5 {344 21

TclOO:从另一个类获取基对象

我有两个类fruit和orange,我的目标是获得允许我构建fruit类的对象 namespace eval test {} oo::class create test::fruit { constructor {type} { if {$type eq "orange"} { set orange [test::orange new] } } destructor {

TCL是否包含get_位和set_位类型的内置函数?

get_位将返回值的特定位,set_位将值的特定位设置为指定值。TCL是否包含内置的此类函数,还是应该由用户编写 二进制扫描命令与get_bits函数非常接近,但不同。没有用于获取或设置特定位的特定函数。我们可以做 proc get_bit {value bit} { expr {($value & (1 << $bit)) != 0} } proc set_bit {varName bit {value 1}} { upvar 1 $varName var

Can';是否让scrollutil库演示在Tcl/Tk中运行?

我正在尝试运行scrollutil库的演示。我没有在网页中使用代码,而是下载了tar.gz并使用了演示脚本 Tcl和Tk与tcllib、tklib、Bwidget-1.9.14和tkImg库一起安装。我的理解是scrollutil库应该在tklib中 我已经能够在Bwidget-1.9.14中运行演示脚本,但是大多数scrollutil脚本都失败了 来自SuScrollableFrmContent.tcl和tclsh bwrollablefrmcontent.tcl脚本的错误是: Error i

  1    2   3   4   5   6  ... 下一页 最后一页 共 25 页