【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
个人认为qmacvisual软件中,另外一个鲜明的特色,就是它本身支持javascript脚本编写,虽然是利用qt script engine完成的。这个脚本编写,让fae或者说现场部署的同学一下子有了配置插件、调整业务的能力。一般来说,业务执行的时候,都是至上而下进行的,很少有循环的。哪怕是我们之前添加了判断语句,也没有办法做到这一点。
但是现在有了脚本编辑,这就相当于可以用脚本对全局变量进行修改。有了这一点,搭配上跳转语句,这就可以完成循环操作了。不仅如此,对于一般的协议收发、简单的数值计算以及逻辑补充,脚本都是可以胜任的。但涉及到复杂的图像算法,最好还是用dll插件的形式去完成。
1、创建项目和流程
创建项目和流程的方法和之前一样,这里不再赘述。
2、准备全局环境变量
这一次和之前的判断语句不同,需要准备两个环境变量。一个是给判断语句提供的,一个是给跳转语句使用的。前者是一个Int数据,命名为count。后者是命名为state,是Bool数据,为常量true,主要用于循环。
3、涉及测试用例
整体测试由一个判断模块和一个延时1插件组成的。其中判断模块又包含了判断语句、延时、脚本编辑和跳转语句。
其中判断语句的条件是count是否小于5,
而跳转语句的条件是state是否等于true。因为整个逻辑执行的过程中,state不会发生改变,所以这里其实仅仅是为了跳转而已。跳转的目标就是判断语句,
剩下来的延时自不必多说。关键是这个脚本编辑应该怎么写。我们发现,全局变量之一的state恒定为true。另外一个全局变量count,如果没有控制模块对它进行修改,那么整个逻辑肯定是走不出去的。所以,有必要在脚本逻辑里面添加必要的内容,让count有机会改变自己,所以我们添加了这样的脚本语句,
其中添加的脚本格式是javascript形式。内容如下所示,
var cnt = ProjectGetGlobalValue("count");
cnt = cnt + 1;
ProjectSetGlobalValue("count", cnt);
首先通过ProhectGetGlobalValue获得count的数据,加1之后,重新利用ProjectSetGlobalValue去处理。既然count已经发生了改变,那么单击Cycle按钮之后,就可以看到所有的插件都开始运行起来了。一开始肯定是判断模块里面的内容先运行,后期肯定就剩下判断语句和延时1运行了。
重新检查确认后,发现Count数值也维持在5上面不动了。这样就基本达到我们设计的目的了。