| 作者 | 主题 |
|---|---|
|
Ken(小释) 侠士 经验值:1878 发帖数:285 精华帖:19 |
楼主
主题:单行脚本:让一个按钮翻转一个变量的状态!主要是解决有些朋友问的VBS下的翻转
Tag为你想翻转的一个Boolean型变量。
C代码如下 SetTagBit("Tag",!GetTagBit("Tag")); //得到Tag的值取非,写回去! VBS代码如下 HMIRunTime.Tags("Tag").Write(Not CBool(HMIRunTime.Tags("Tag").Read)) //得到Tag的值,先转换成Boolean型,再取非,写回去! 说明:VBS里面为什么要多一个步骤CBool()呢?是因为HMIRunTime.Tags("Tag").Read返回的是一个数值,数值的0取反等于-1,数值1取反等于-2。 NOT是一个取反运算!只有操作对象为Boolean型的时候才是取非!
Ken(小释)…西门子自动化技术群16182848
|
|
划痕 侠圣 经验值:4794 发帖数:2009 精华帖:22 |
6楼
主题:回复:单行脚本:让一个按钮翻转一个变量的状态!主要是解决有些朋友问的VBS下的翻转
今天才注意到这个帖子,就简单补充一下:
将Boolean量取反输出的C代码严谨的写法如下 SetTagBit("Tag",(short)!(GetTagBit("Tag"))); //得到Tag的值取非,写回去! 而此语句SetTagBit("Tag",!GetTagBit("Tag"));//在编译过程中会出现警告
No discussion, no outcome.
|