Labview文件路径的研究(上)
作者:quiye
博客:http://blog.ednchina.com/quiye/
以前经常遇到调试好的软件一发布就出问题,原来很多情况下与我们的路径有关。最近在网上也经常有人我有关路径的问题。先总结成一篇比较“罗嗦”的文档,都是个人经验总结,希望对大家有帮助。有不对的地方欢迎指教!
在labview编程时,在文件操作或子VI调用是,需要用到文件路径函数。路径有绝对路径和相对路径。绝对路径如:c:/progamer/c.txt ;相对路径,指相对于当前程序的路径。我一般在些程序的时候用相对路径比较多,事实上相对路径也比较好用。因为我们不知道客户可能会把程序安装到什么路径下。
了解了相对路径,我们今天主要讨论路径在labview中的不同应用,和不同情况下的编程注意事项。注意在调试环境下和可执行文件下的区别,以及安装后的区别。下面我们主要通过例子来学习。
例子1、本工程要读取一个data.txt文件里的内容。
项目的组织结构如下图
可以看到,项目中就一个VI: readTxt.vi ,和一个被读的文件,当然这个文件也可以不被包含进工程。
在看下工程的实际文件组织结构:
可以看到,文件的组织是平铺的结果,即没有分等级,全部文件放在一个文件下。调用者(readTxt.vi)和被调用者(data.txt)在同一级目录下。
下面是我们这个程序实体:
运行界面:
这里,用了一个技巧:就是用当前程序的运行状态来区分路径是否需要多一级拆分,在编程开发阶段,根路径如上图界面中所示的是当前VI的路径,只要拆分一级路径就可以得到“安装文件路径实验”这文件夹的路径,然后再加上要读取的文件名data.txt 组成新的路径(如图中的添加的路径)。
但当在实际生产可执行文件后,运行.EXE文件时,其路径是不一样的,会更加深一级,需要多拆分一次,才能得到“安装文件路径实验”这文件夹的路径程序如下图。
生成的.EXE文件:
点击运行,前面板如下图
从上图中,我们可以发现根路径中多了一级“DireTest.exe”。原来labview把执行程序也作为了一级目录,然后我们的运行的VI都在这级目录下运行,所以需要把它拆分掉。拆到当前.EXE文件所在的文件夹,即拆解到“DireTest应用程序”,共拆了2次。
生产安装程序:源文件设置也十分简单:
如图,如果data.txt是配置文件,则需要包含到安装目录里去,不然生成的安装包不会自动安装data.txt文件到相应的安装目录下。
开始安装:
安装后的目录内容,里面把data.txt文件也安装进来了。
运行正常。
用户377235 2013-5-6 11:34
楼主的出发点是好的,不知楼主是否考虑过图片的清晰程度和大小的问题。发帖容易,看帖郁闷。