Skip to main content

应用实例

本节所讲述的实例,用于回顾和练习本章讲述的一些知识点。读者可以先自己尝试编写程序,再对比书中给出的答案。

字符串公式求值

程序要求:输入一个字符串,用于表达一段简单的数学公式,比如 "sin (pi (1/2)) + 3*5 - 2";输出一个实数,为输入公式计算后的值。

这个问题初看起来,似乎与我们讲过的公式 Express VI 和公式节点有关,它们都是对一段表达式进行计算。不过公式 Express VI 和公式节点都只能在程序编辑时,设定固定的公式,程序运行后,只能改变参数,不能再改变公式本身了。

所以,书中已经讲过的函数和结构都用不上。当然,也可以把输入的字符串解析一下,区分出数字、函数和运算符,分别对其处理计算。但是,在动手编写程序之前,一定要先调查一下,看是否可以借用 LabVIEW 或他人提供的 VI,尽量不再重复别人已经完成的工作。

假如 LabVIEW 自带的函数或 VI 能够完成或部分完成本实例要求的功能,它应当位于 "数学 -> 脚本与公式" 函数选板。打开即时帮助窗口,用鼠标快速浏览一下该选板下的每个条目,看其帮助信息内容是否与实例要求相关。

可以看到,"数学 -> 脚本与公式 -> 一维二维分析 -> 字符串公式求值"VI 完全具备实例要求的功能,直接把该 VI 拿来用就可以了(图 2.61)。在第 1 章中,曾建议读者对程序选板以及 vi.lib 文件夹下众多的 VI 作为范例学习编程。有兴趣的读者可以打开该 VI 的程序框图,看看它具体是怎样编写的。

图 .61 字符串公式求值得程序框图

字符串转换为布尔数组

程序要求:输入一个十六进制的字符,输出一个与十六进制字符等值的 4 位布尔型数组。

这个程序可以分成几部分:第一部分控制输入字符串,只允许出现 0~9,A~E 中的字符;第二部分把字符转成 U8 数据;最后一部分,把 U8 数据的低四位用布尔数组显示出来。这三个部分非常适合分成三个子 VI。但是为了便于演示整个程序,我们把所有代码放在一个程序框图上了(图 2.62、图 2.63)。

这个程序中需要注意的是:要选择恰当的数据类型转换函数。

图 .62 字符串至布尔数组转换的程序框图

图 .63 程序运行结果

程序运行中改变控件标题

程序要求:在界面上放置一个数值型控件,既可用于输入一个长度值,也可用于输入一个重量值;再放置一个枚举类型单选按钮控件,用户可通过其输入选择数值控件的标题,显示是输入长度还是重量。

这个程序需要动态修改控件属性,需要使用控件的属性节点。由于运行时不能修改控件的标签,本程序需要显示的是 "数值" 控件的标题而不是标签(图 2.64、图 2.65)。

图 .64 程序运行时,改变控件的标题

图 .65 程序运行结果

禁止枚举控件中的某些项

程序要求:创建一个枚举型控件,但在程序运行过程中,需要暂时禁止它的某些选项。

这个过程实现起来相当简单,只要使用一个针对枚举类型的属性 "禁用项 []" 就可以了。该属性的输入值是一个整数数组,数组的中元素的数值表示枚举控件中需要被禁用的选项(从 0 开始)。比如,需要禁用枚举控件中的第二条选项,则需要给 "禁用项 []" 属性提供一个包含一个元素的整数数组,元素的值是 1(图 2.66、图 2.67)。

图 .66 禁用枚举型控件中的某些选项

图 .67 运行结果

在字符串中显示多种字体

程序要求:输出一个字符串 "LabVIEW 真好用!",并突出强调 "好用" 两个字。

本程序关键是要熟悉字符串控件的属性,可以利用它的属性,选中控件中的一部分文字,修改其字体(图 2.66、图 2.67)。

图 .68 修改选中文字的字体

图 .69 程序运行结果

为列表框控件添加自定义的图标

在 LabVIEW 的列表框、树形等控件的每个条目的前端,都可以为其选择并显示出一个图标。选中控件的右键菜单 "显示项 -> 符号"( 图 2.70),就可以把选取的图标显示出来。

\ 图 2.70 显示列表框的符号

控件中每个条目的图标的图案可以直接通过控件每个条目的右键菜单 "项符号" 来选择(图 2.71),也可通过在程序中设置控件的 "项符号" 属性来设置。控件自带的图标都比较简单,并且总共只有 40 个。(最后一个图标其实不是 "图标",而是分割线,编程时可能会使用到。)

\ 图 2.71 选择条目的符号类型

这些控件自带的图案种类非常有限,但 LabVIEW 允许编程者自己定义列表空等控件条目的符号。以列表框控件为例,编程时,使用控件的 "自定义项符号 --> 设置为自定义符号" 方法,可以为控件添加自定义的图标。这个方法节点有两个输入:"索引" 表示图标的序号 (应该给新图标选择一个大于 40 的序号,以免覆盖掉控件自带的图标);第二个输入参数 "图像" 则是自定义图标的图片(图 2.72)。

\ 图 2.72 设置条目自定义图标的程序

在这个例子中,图片 VI.png 是一张彩色的系统用来表示.vi 文件的图标。打开这个图片文件,得到它的图像数据,然后设置给列表框控件。其显示效果为图 2.73 中控件的最后一个条目。

\ 图 2.73 使用自定义符号的显示效果