0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何才能获取LabVIEW程序中的传递参数呢?

jf_xutpKvFS 来源:LabVIEW QT 修炼之路 作者:Retry 2023-10-11 09:26 次阅读

LabVIEW:2015

有些场景下,我们用LabVIEW开发的应用程序,需要通过命令行来调用,并向该应用程序传递参数,那么在程序中如何才能获取这些参数呢?

比如下图向test.exe应用程序传递4个参数(“true", "true", "false", "true”),那么对于test.exe应用程序而言,它如何才能获取到呢?

9c6593c8-677c-11ee-939d-92fbcf53809c.png

编写一个简单的例子来演示,通过传入参数来控制4个LED的亮灭,如下图所示:

9c777322-677c-11ee-939d-92fbcf53809c.png

想从命令行中获取参数其实是有一个属性节点的,如下图所示:

9c98425a-677c-11ee-939d-92fbcf53809c.png

帮助的说明很清楚如下图所示:

9cb27a58-677c-11ee-939d-92fbcf53809c.png

需要注意的是返回的参数数组中,第一个是启动的可执行文件的名称,另外如果用户定义的命令行参数带有双引号,返回时则不包含引号。

所以程序框图实现代码如下图所示:

9cc9ecec-677c-11ee-939d-92fbcf53809c.png

那么是不是这样就够了呢?当然不,还有很关键的一个设置,在打包生成exe时,需要在高级选项中勾选“Pass all command line arguments to application”, 如下图所示:

9ce09640-677c-11ee-939d-92fbcf53809c.png

点击Build,测试功能正常,如下图所示:

9cf8bd06-677c-11ee-939d-92fbcf53809c.png

问题延伸:用LabVIEW开发了一个应用程序(比如文本编辑器LVEditor.exe),那么如何实现双击txt文件时,自动使用LVEditor.exe打开且正确读取呢?

想双击时自动使用我们开发的应用程序LVEditor去打开txt文件,这个简单,设置下默认的打开方式即可,但是想正确地读取里面的内容如何才能做到?

其实也简单,当我们双击打开一个文件时,与命令行调用类似,它会将该文件的路径以参数的形式传递给要执行的应用程序,所以你应该明白该如何实现了。

下面也编写一个简单的例子来演示,双击打开一个txt文件能够正确读取其内容显示到字符串控件中,如下图所示:

9d02c4f4-677c-11ee-939d-92fbcf53809c.png

正确设置以后打包生成可执行文件,并将txt文件默认的打开方式设置为使用LVEditor.exe,如下图所示:

9d24e016-677c-11ee-939d-92fbcf53809c.png

双击test.txt文件,运行效果符合预期,如下图所示:

9d3af4e6-677c-11ee-939d-92fbcf53809c.png








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • led
    led
    +关注

    关注

    242

    文章

    23252

    浏览量

    660558
  • LabVIEW
    +关注

    关注

    1970

    文章

    3654

    浏览量

    323305
收藏 人收藏

    评论

    相关推荐

    linux驱动模块参数传递方式

    在嵌入式linux应用开发,可以给main()函数传递参数,这样应用程序就能知道最初的控制参数是什么,当然也可以选择不向应用
    发表于 08-09 09:10 670次阅读
    linux驱动模块<b class='flag-5'>参数</b><b class='flag-5'>传递</b>方式

    LabVIEW多线程编程数据传递教程

    很多时候在一个VI的不同线程或者不同VI的不同线程需要有一些交互——这些线程并不能完全独立运行,需要一定的数据通信才能正确执行,这时就需要在编程时使用LabVIEW提供的数据通信与同步的一些机制,使需要
    的头像 发表于 11-24 10:05 6769次阅读
    <b class='flag-5'>LabVIEW</b>多线程编程数据<b class='flag-5'>传递</b>教程

    LabvIEW如何编写程序能够手动设置极品模板匹配VI的模板

    LabvIEW如何编写程序能够手动设置极品模板匹配(golden template)VI的模板?我试了好几次,只能先用视觉助手先试用极品模板匹配,获得模板,而且
    发表于 09-22 10:39

    labview调用halcon程序如何传入参数

    各位大神,labview调用halcon的hdev程序时,如何给halcon传入参数?比如传入图像,labview如何获取这个传入
    发表于 05-12 22:43

    如何才能在51系统下使用类似printf这样的可变参数的子函数

    增加3个字节的地址,这样就没用办法使用“...”,来传递参数了,如何才能在51系统下使用类似printf这样的可变参数的子函数
    发表于 10-30 08:27

    如何获取其它程序的命令行参数

    开发环境:VC6 Windows XP 测试环境:WindowsXP 我们都知道,在程序获取命令行参数很简单,WinMain函数会以参数的形式
    发表于 10-14 09:24 1次下载

    Labview之信号传递后波形

    Labview之信号传递后波形,很好的Labview资料,快来下载学习吧。
    发表于 04-19 10:56 0次下载

    函数参数传递的原理

    参数传递,是在程序运行过程,实际参数就会将参数传递
    的头像 发表于 03-02 11:41 7332次阅读
    函数<b class='flag-5'>参数</b><b class='flag-5'>传递</b>的原理

    程序开发如何跳转页面和实现参数传递与视图层显示

    最近在研究小程序开发,看了一些官网文档,我们今天就来学习一下如何跳转,顺便把跳转过程参数传递,以及接收赋值到模板显示学习了。
    的头像 发表于 02-18 12:15 2660次阅读

    Labview风力情况获取

    Labview写的一个获取天气的小程序程序只显示了风力,其余的天气情况也可以得到。
    发表于 05-21 11:23 24次下载

    之前的程序如何改写才能完成相同的功能

    继续讲解!如果不调用通信工具箱,那么之前的程序如何改写才能完成相同的功能?先来看看MATLAB里面强大的工具箱!使用方法见上一篇文章程序
    的头像 发表于 10-10 10:00 802次阅读

    参数程序参数传递过程

    一份程序建立多个子程序,每个子程序完成相对比较独立的功能。而子程序也是围绕主程序的要求,并且还
    的头像 发表于 10-17 09:50 2748次阅读

    KUKA机器人:将参数传递到子程序或函数V1.28版

    从一个主程序可以将参数传递到局部或全局子程序和函数
    的头像 发表于 01-31 13:43 2633次阅读

    LabVIEW命令行调用exe传入的参数如何获取

    有些场景下,我们用LabVIEW开发的应用程序,需要通过命令行来调用,并向该应用程序传递参数,那么在程序
    发表于 10-11 09:28 2459次阅读
    <b class='flag-5'>LabVIEW</b>命令行调用exe传入的<b class='flag-5'>参数</b>如何<b class='flag-5'>获取</b>

    labview鼠标坐标怎么获取

    获取LabVIEW鼠标坐标的方法实际上非常简单。在LabVIEW的Block Diagram或Front Panel,可以使用以下方法来
    的头像 发表于 01-07 17:24 3894次阅读