在LABVIEW.ini中添加下列两个选项,可以修改菜单背景色和前景色。
menu.background=FF00FF
menu.foreground=00FFFF
LV的菜单相对来说功能比较简单,比如无法实现图标菜单等。但是LV的菜单在LABVIEW.ini中隐藏了一些设置选项,通过设置选项可以对LV菜单做 一些全局设置,实现特色菜单。
在LABVIEW.ini中添加下列两个选项,可以修改菜单背景色和前景色。 menu.background=FF00FF menu.foreground=00FFFF
0 Comments
先看一下下面的程序框图。 从程序框图上,我们猜测程序员的目的是把前面板上一些重要控件的引用打包成簇,然后在各个子VI中使用该簇传递所需控件的引用并通过引用修改控件的值或者其它属性,如颜色等等。 我们知道,获取一个VI中控件的引用,在VI本身中是非常容易的,直接创建这个控件的引用就可以了,但是在在其它VI中获取另一个VI中控件的引用是比较 复杂的。理论上说,通过应用程序的引用,可以获取VI的引用。通过VI的引用可以获取VI前面板控件的引用,对于簇和选项卡这样的控件,控件本身是嵌套 的,获取其中单个控件的引用该更是非常非常困难。 区别不同控件的重要标志是控件的标签(LABEL),相当于变量名,知道控件所属VI和LABEL名称,通过遍历的方法,可以获取控件的引用,如下图所示。 上图可以获取前面板中单个控件的引用,但是如果大量频繁操作,如果控件众多,且有嵌套,比如簇中的控件,则必须首先得到簇的引用,然后再次循环遍历,找到特定控件的引用。 如果只需要读取或者修改控件的值,则不需要查找控件的引用,通过VI方法节点可以直接操作,如下图所示。 在具体运用中,一般我们只是对前面板上的特定控件进行频繁操作,这种情况下,我们需要知道的只是特定控件的引用,而不是全部。 使用用户标签(TAG)是解决类似问题的比较好的方法,我们知道,VB控件中可以定义具体的TAG,用来表示控件的特定信息,LABVIEW中的VI和控件也是如此。LV提供了这样的函数,只是没有列入控件选板和文档中。几个重要的用户标签(TAG)VI需要自己查找,其所在文件夹如下图所示。 这个文件夹中共包括六个V I,分为两组:VI标签和控件标签。 VI标签函数,可以设置、获取和移除VI TAG.控件标签函数可以设置、获取和移除控件标签.对于固定不变的信息,可以直接存储在VI中,这种情况下,在后续操作中,只要读取TAG信息就可以了。 标签中存储的是变体类型数据,因此可以存储各种数据类型。本文第一个图中存储的控件引用,可以直接存储在控件的用户标签(USER TAG)中,这样就不需要在各个VI中通过端子传递引用数据了,如下图所示。 在其它VI中只要获取主VI的引用和指导USER TAG名称就可以读取这些特定的控件引用并进行操作了,如下图所示。
LV2009版新增了局部框图整理功能,这极大地方便了我们创建LV程序框图。由于前面版本的自动框图整理功能整理的是全部程序程序框图,这使得自动整理功能仅适合于在较小的子VI中使用。因为在较大的程序结构中,主要的数据流程连线是我们精心设计的,并不希望被改变。
LV2009的局部框图整理功能使我们可以选择部分程序,进行自动整理。更为重要的是可以在选择整理的部分中,可以选择特定的结构,使特定的结构不在整理范围中。 自动框图整理主要有以下用法: 一、整理全部程序框图 这是8.5(好像是8.6——转载者)版本之后提供的功能,在不选择程序框图的情况下,自动选择选择全部程序框图。 二、整理局部程序框图 用鼠标框选所选部分,或者点击特定的结构,则整理的是局部程序框图。 三、禁止整理某个特定的结构 对于特定的LV结构,比如条件结构、循环结构、事件结构等,通过快捷菜单可以设置为“取消程序框图整理”,这种情况下,以后所有的程序框图整理操作,将不包括这部分。 对于不包括结构的部分,可以临时增加单帧顺序结构,并设置它为“取消程序框图整理”。 从我第一次接触LV6.1开始,LABVIEW随着版本的不断升级,发生了很大的变化,但是不同版本的LV,它的工具条几乎没有变化。2009的工具条同早期版本相比,增加了两个按钮。 其中右侧的工具按钮为整理程序框图按钮,2009版本已经可以进行局部框图整理,稍早版本只能进行全部框图整理,这个功能是非常易用的,尤其是对比较小的子VI。
左侧的工具按钮为切换(T OGGLE)按钮,名称为“保持连线值”,可以在“保持连线值”和“不保持连线值”之间切换,该功能是新增的,极大地增强了VI调试功能。能在工具按钮中列出,足以说明它是非常常用的。 在早期版本中,VI运行完毕后,使用探针检测连线值是不可能的,这对于调试子VI,非常不方便,尤其是瞬时VI。因为瞬时VI是瞬时执行的,不显示前面板,打开后,除了能看到输入控件的值和输出控件的值,是看不到中间连线的值的。 选择“保持连线值”,可以在VI运行后,任意增加探针,探针显示连线最后一次流过的值,这样就很容易分析出VI的运行状况。 可变长度数组和字符串是需要不断调用LV内存管理器的,因此需要尽量避免,一般是预设数组长度,采用替换数据元素的方法,当空间不足的时候,一次增加一个内存段,这样可以极大地减少Build Array函数的使用次数,当然这样编程比较复杂。如果数据量不大的情况下,还是直接采用 Build Array函数比较方便,毕竟不需要自己管理数据数组的内存空间了。在其他语言中,这种方式称为动态数组。
Build Array 函数是多态函数,可以一次插入一个元素,也可以一次插入多个元素,或者多维数组插入整行,整列等。今天讨论的是一维数组插入单个元素的问题。 一维数组插入元素有两种方式,首端插入和末端插入,其中末端插入即新增加的元素插入到数组的末端,这是队列的常用方式。如要需要的堆栈的方式,则插入元素 必须插入到数组的首端。很少有人注意到这两种方式的使用效率存在极大差别,末端插入的效率要远高于首端插入,如下图所示。 字符串一般不建议作为用户输入,主要原因是字符串输入过于灵活,很难判断用户输入的字符串是否合理,比如我们需要的是二进制数字字符串,这就要求只能输入0或1,其它字符都是不允许输入的。如果对输入字符不加限制,用户输入了非法的字符,会导致后续操作错误。
当我们使用LV提供的文件选择对话框时,如果不选取文件,点击取消按钮后,会自动弹出错误提示对话框,对于测试和控制程序,会导致程序停止运行,等待用户用户响应对话框,这是不能允许的,对话框如下图所示:
我们知道,每一种默认的文件后缀表示特定格式的文件,我们双击相应的文件名,可以自动启动对应的运行环境,比如CPP启动VC,XLS启动电子表格,TXT启动记事本等等。
常规的方法是通过SYSTEM命令启动,LV中的一个VI可以实现这样的功能,因为不常用,可能朋友们没有用过。 对于正在编辑的CVI文件或者LABVIEW文件,我们经常遇到需要查找该文件所在文件夹或者查看该文件夹中的其它文件,最好的方法是使用explorer.exe,看一下Explorer支持的常用命令行输入方式。
|
档案
October 2011
目录
All
|