[分享] [Labview经验] 一起学LabVIEW——Case结构
934 查看
1 回复
 楼主 | 发布于 2018-03-30 | 只看楼主
分享到:
C语言中有Switch Case语句,Labview中没有那么麻烦了,直接一个Case结构就搞定了,那么Case怎么用呢,很多新人还不是很熟。So我们先拖出一个Case结构Structures>>Case Structure。Case默认存在两个分支Tree、False对应的是布尔值。Case执行时根据选择器的输入来选择对应分支,如果没有就执行Default分支。
        


       如果Case分支选择输入是字符串或者其他呢,该怎么?很简单,选择数据类型是什么就直接连到Case框的选择器上,于是我们连接一个字符串看下:
        


       字符串连接后我们发现,分支名称原有的True和False都被加上了"",而且在False分支上又多出了个Default,这是为什么,因为你的选择器类型变为了字符串所以分支名称的显示方式也变成字符串显示就被""给括住了。那为什么会有个Default呢?C语言中Switch Case中最后一个Case分支对应的应该是"Default;"吧,意思是没有对应分分支就执行default,同样Labview也是一样,Case结构也需要有Default分支,否则程序编译时会报错,如下。
        


       那我们怎么添加我们想要的对应的分支呢?双击分支名称可以对已有的分支名称进行改名,如把"True"改为"String 1",并删掉"False"。
        


        现在只有2个分支,添加更多的分支方法右键Case框,弹出菜单如下,可以添加、删除、复制Case分支。还有个更快捷的方法,当光标处于分支名称内时按下Shift同时每按一下回车键就会自动添加一个分支(Shift+Enter)。同样为选择器为数值类型等的Case结构创建方法亦是如此。
          


        对于Case来说选择器有个特殊的类型,那就是枚举。如下我们创建一个选择器为枚举类型的Case结构。枚举常量位于Numeric>>Enum Constant,我们为枚举添加4个选择Case1、Case2、Case3、Case4.       


       我们看与前面的字符串Case有什么不同?当我们把枚举连接选择器时,Case的分支名称自动将枚举的值添加到了框内,我们一次在添加两个分支右键或Shift+Enter均可,发现Case会把剩余的枚举值自动填入框内。这就是枚举选择Case的特殊之处。所以一般编写Case比较多的程序时,选择器类型通常选择枚举控件比较方便,更改或添加枚举值,Case会自动更改分支名称,避免了分支名称与选择器的值不对应问题
       怎么选择讲述完毕了,那应用Case时输出数据是什么样的呢,我们同样应用上述的枚举Case。举例:Case1时输出I'm Case one!,。。。依次Case4是输出I'm Case four!。于是我们拖一个字符串到Case1里面,现在Case1与Default分支为同一个,但是我不想让Default和Case1相同怎么?很简单,我们在创建一个Case分支,不要写分支名称,此时在新建分支上右键,弹出菜单>>Make This The Default Case。我们在回到Case1,发现default没有了。
       我们将字符串输出连接到Case框的的右侧,出现了我们所熟知的隧道节点,并且该节点中间是空心的,意思是Case框内有分支未给隧道赋值。       


       哦,想起来了,Case还有其他分支呢,于是我们给case2、3、4也添加对应字符串。那Default分支怎么办呢,没有给他定义输出啊,没关系,我们右键隧道,弹出菜单:
        


       我们勾上User Default If Unwired,意思为如果未连线则使用默认值,此时在看隧道节点变成了实心的方块了。实际编写程序时,该选项慎用,确保每个分支传出的数据是正确的,一般字符串的默认值是空,数值的默认值是0。我们为隧道添加一个输出显示控件,完成程序如下,当改变枚举值时,看看输出结果是什么。
        
(0 ) (0 )
回复 举报

回复于 2018-03-31 沙发

不错,多谢分享!!!
(0 )
评论 (0) 举报
  • 发表回复
    0/3000





    举报

    请选择举报类别

    • 广告垃圾
    • 违规内容
    • 恶意灌水
    • 重复发帖

    全部板块

    返回顶部