LabVIEW创建自定义书签管理器

简介: LabVIEW创建自定义书签管理器

LabVIEW创建自定义书签管理器


书签是一种特殊的标记机制,可以添加到VI框图中。任何以井号标签(#)开头的文本都将被LabVIEW自动识别为书签。这些可用于标记代码不同部分中的待办事项或未完成的任务。当您将主题标签添加框图注释时,LabVIEW会检测书签并加粗书签标签,以将其与文本的其余部分区分开来(例如:“#TODO修改算法”)。


什么是LabVIEW书签管理器?


书签管理器是用于查看项目或应用程序实例中所有书签的工具。可以从“查看>书签管理器”菜单项访问。当打开内置书签管理器时,它会显示书签及其后面的任何注释。也可以双击任何书签条目,它将打开VI所在的位置并突出显示框图上的位置。在书签管理器中,还可以更改正在查看书签的项目并更改视图。


LabVIEW书签管理器非常简单且有用,但其真正强大功能来自其可定制性。书签API有一个完全开放的界面,可用于创建您自己的自定义书签管理器。您甚至可以复制和编辑内置管理器以帮助您入门,因为书签管理器也是打开和解锁的。

书签管理器API


书签管理器API建立在VI服务器接口上,以编程方式访问和操作VI的书签。如果您不熟悉VI服务器,首先在“什么是VI服务器?”和“VI服务器的功能”中阅读可能会有所帮助。除了现有的VI服务器接口外,书签管理器API还添加了4个特定于书签的重要事件和方法:


获取VI书签(VI方法)


获取VI书签方法将返回与某个VI关联的所有书签。此方法使用VI参考,适用于内存中的所有VI,包括尚未保存到磁盘的VI。

获取VI:书签(申请方法)


获取VI:书签方法类似于获取VI书签VI方法,不同之处在于它是应用程序类的方法。此方法使用VI路径进行输入,适用于磁盘上的任何VI,即使它们尚未加载到内存中。


注意:书签作为VI资源存储在磁盘上,但在内存中保持最新。这意味着VI不必在LabVIEW的内存中即可读取其书签。

从书签ID获取对象引用(VI方法)

此方法会将书签ID转换为对象引用。注意:书签由“书签ID”引用,因为对象引用仅对加载到内存中的VI有效。

书签信息更改(事件)

这是用户更改VI的书签时生成的应用程序事件。这可以在LabVIEW事件结构中处理。

自定义内置书签管理器


创建自己的书签管理器时,您可以从头开始,但使用现有书签管理器作为起点可能会帮助您节省时间。要复制现有的书签管理器代码,请完成以下步骤:


复制在labview\resource\dialog\书签管理器\managers目录中找到的默认文件夹。您将使用此源作为开发书签管理器的起点。


将文件夹粘贴到同一目录中,并将其重命名为其他名称。


复制Default.txt文件位于managers目录的顶层,并将其重命名以匹配步骤2中文件夹的新名称。


打开*.txt文件的副本,并将“默认”一词替换为新书签管理器的名称(此名称将显示在“选择书签管理器”对话框中)。


编辑新文件夹中的文件以满足您的特定需求。


选择书签管理器


一旦您在labview\resource\dialog\BookmarkManager\managers目录中有多个书签管理器,LabVIEW将允许您在选择从“视图”菜单启动它时在它们之间进行选择。您可以选择不显示此选择对话框,但每当找到新的书签管理器时,它都会再次提示,允许您更改为新的书签管理器。


开发注意事项和提示


复制默认书签管理器时,请确保注意新文件夹和现有“默认”文件夹之间的文件交叉链接。最初复制文件夹后,应确保检查新项目中的所有文件是否都指向新文件夹中的文件。一旦这完全工作一次,还建议重命名项目和项目库,以防止将来的交叉链接。


复制默认书签管理器,而不是修改原始书签管理器。这将允许您恢复到内置书签管理器,以防出现任何问题。


测试书签管理器时,请确保在从“视图”菜单运行书签管理器之前完全保存并关闭VI和项目。此外,如果需要在代码中使用断点或突出显示执行,请确保在修改任何代码之前关闭正在运行的VI并重新打开项目。其原因是LabVIEW将书签管理器对话框VI置于从称为系统VI的“工具”菜单运行时的状态。退出时,VI将恢复为可编辑状态。但是,如果停止书签在执行过程中运行,VI将永久保持此状态,并可能导致意外行为。如果系统VI已损坏,并且系统VI未出现在“层次结构”窗口中,则系统VI将不会在“错误列表”窗口中显示任何错误。


如果您不小心使VI卡在“系统VI”状态,则可以使用随附的“系统VI是否写入”VI取消将VI设置为系统VI。


使用VI包管理器分发书签管理器


创建自己的书签管理器对话框后,使用VI包管理器分发此对话框可能会有所帮助。这将允许您的用户轻松地将文件安装在正确的目录中,并在安装过程中将VI批量编译为当前版本。为此,您需要做的就是在VI包生成器中为您的项目添加一个自定义目标,如下所示。有关使用VIPM构建软件包的更多详细信息,请参阅文档VI软件包管理器:简介

将您的书签管理器提交到NI工具网络


如果您认为世界上的其他用户会从您的新书签管理器中受益,请考虑将其作为免费下载或付费产品提交到NI工具网络。有关如何提交的更多信息,请参阅向工具网络贡献LabVIEW附加组件。


示例:带框图预览的书签管理器


为了演示如何修改功能并将其添加到现有书签管理器,此修改版本演示了本文档中讨论的信息。此新版本在对话框右侧添加了一个图像控件,该控件显示所选书签周围的框图代码的预览。图像面板可调整大小,默认窗口和面板大小在会话之间保存。该示例可以从vipm下载并安装vipm://ni_bookmarkmanager_bdpreview

需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。


LabVIEW程序,如下附件所示。


相关资料说明,如下所示。

相关文章
|
6月前
|
JavaScript 前端开发 搜索推荐
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
不想要网页默认的右键菜单栏,怎么封装一个可以自定义的右键菜单组件?
113 0
|
1月前
|
JavaScript
avaScript如何实现 选项卡功能
avaScript如何实现 选项卡功能
20 1
|
程序员 Windows
【windows编程之对话框】对话框原理,对话框的创建
【windows编程之对话框】对话框原理,对话框的创建
|
IDE 编译器 开发工具
问题:窗体在运行时显示,在解决方案管理器中不显示
小引: 虽然我知道实现《机房收费管理系统》会遇见各种问题,但是碰到这么狗血的问题,我真是大姑娘上花轿——头一回!
100 0
MFC学习——如何在MFC对话框中添加一个显示网页的窗口(用vs2017以下版本,vs2017不支持)
MFC学习——如何在MFC对话框中添加一个显示网页的窗口(用vs2017以下版本,vs2017不支持)
372 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
647 0
QT应用编程: QGraphicsTextItem单击选中、双击进入编辑状态
|
测试技术
MFC中为菜单或按钮添加快捷键功能
1、新建一快捷键资源,ACCELERATOR,关联相应的ID号,下图所示中,其中,第一个ID为自定义快捷键ID,按CTRL+R,此时响应该ID以应的消息响应函数, 第二个ID为菜单ID,此时按CTRL+V,调出ID_NETWORK_PING菜单对应的响应函数。
1377 0
应用程序自定义快捷键
版权声明:本文首发 http://asing1elife.com ,转载请注明出处。 https://blog.csdn.net/asing1elife/article/details/82820654 ...
1072 0