zoukankan      html  css  js  c++  java
  • LabVIEW 事件结构学习

      编程的主要目的是为了实现用户的某种功能,用户通过用鼠标、键盘、程序内部等触发某种程序动作,从而达到某种结果,这些操作都被称作为事件,LabVIEW中相应这些事件最常用的结构就是“事件结构”。事件结构内容丰富,基本上大的程序结构都需要用到事件结构,下面将详细介绍事件结构。
      事件结构在程序不能够单独响应各种事件,必须与循环结构一同使用,如下图
     
      事件添加方式很简单,鼠标右键事件框弹出菜单如上图,有添加、删除、复制、编辑事件等选项,按照操作即可。如下图,为事件结构添加Stop事件,布尔控件触发事件的方式有多种,鼠标按下、经过、离开、进入等,这里我们选择“值改变”。确定后,stop事件就被添加进去了,如下图,当我们运行程序后,点击前面板的stop按钮,触发事件使while循环停止而后程序也停止。 
     
      同一事件分支只能添加一种事件吗?当然不是!有的时候有很多不同操作却会执行相同代码,怎么编程才不会让代码冗余呢?看个例子,如下图2个按钮stop1,stop2点击后都可以让程序停止,我们怎么为其添加事件呢?
      
      我们先添加一个事件stop1的,方法上面已经描述了。由于stop2的执行代码和stop1一样,我们在事件stop1上右键->弹出菜单->编辑本事件分支(Edit Event Handled by This Case)会弹出已添加事件stop1的编辑框,这是左侧有2个按钮如下截图
     
      我们点击Add Event左侧事件列表会出现如下变化 

     
      选中这个后,右侧列表选中stop2的Value Change事件后,点击确定在看该事件分支如下,2个事件就添加在同一个分支当中了,运行程序后,点击stop1或stop2均可让程序停止。
     

        


    超时
      超时是事件结构特有的,看名字就知道是怎么回事,即超过一定时间没有触发事件则执行超时事件。如果超时时间设置<=-1,则永远也不执行超时事件,循环处于空闲等待状态。如下图,如果设置超时时间为100,则超过100ms无任何事件触发,则执行超时事件。
     
      所以如果程序事件功能不多,又需要定时执行一段代码,可以考虑用此方式来完成;如果程序操作频繁,则不建议用此事件来定时执行代码。 
      添加事件方法学会了,有的人在编程时发现点击按钮下去后,发现前面无法响应其他事件了,似乎前面被锁住了一样,这是为什么呢?我们知道添加事件是会有个事件编辑框,上面已经截图了,那你有没有注意在框体下边有个
    选项呢
     
    这个选项的意思是:如果本事件框没有执行完毕前锁定前面板。看到这你就应该明白上述问题所在了吧,所以有的时候我们果断去掉这个选项。OK,问题解决了。

  • 相关阅读:
    每日总结2021.9.14
    jar包下载mvn
    每日总结EL表达语言 JSTL标签
    每日学习总结之数据中台概述
    Server Tomcat v9.0 Server at localhost failed to start
    Server Tomcat v9.0 Server at localhost failed to start(2)
    链表 java
    MVC 中用JS跳转窗体Window.Location.href
    Oracle 关键字
    MVC 配置路由 反复走控制其中的action (int?)
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13665443.html
Copyright © 2011-2022 走看看