labview深入探索 | 您所在的位置:网站首页 › labview如何清空文件内容 › labview深入探索 |
用过计算机的人几乎没有不知道剪切板的,但是剪切板实质是什么,如何在程序中编程实现,尤其是对LV来说,剪切板很少有人涉及,实际上有些时候,恰当地运用剪切板可以取得事半功倍的效果.
剪贴板内置在windows中,并且使用系统的内部资源RAM,或虚拟内存来临时保存剪切和复制的信息,可以存放的信息种类是多种多样的。剪切或复制时保存在剪贴板上的信息,只有再剪贴或复制另外的信息,或停电、或退出windows,或有意地清除时,才可能更新或清除其内容,即剪贴或复制一次,就可以粘贴多次。 clipboard本质上一段共享的内存区域,任何应用程序都可以读写clipboard,相当于全局变量,不过这个全局变量是针对WINDOWS操作系统的,所以它可以实现在几个LV执行文件或者LV和其它WINDOWS程序实现数据传递,只所以LV很少涉及到它,因为它不太适合实时控制,在任何时刻,任何WINDOWS程序都可以进行读写,读没问题,因为剪切板读操作是不会清理剪切板的,而写操作则会更新剪切板,原来的信息丢失. 共享内存在单片中,有硬件双口RAM,原理和剪切板类似,应用非常广泛,主要用于实现一个控制板上多个单片机交换数据. LV是否直接支持剪切板操作那? lv在APP属性节点中提供了操作CLIPBOARD的功能. 上面非黄色的属性节点在LV中是看不到了,NI公司未公开的私有属性节点,NI不保证它在以后的版本中继续支持. 私有属性节点是从CLIPBOARD读取图片. CLIPBOARD READ属性节点是从CLIPBOARD读取字符串 CLIPBOARD TEXT属性节点是向CLIPBOARD写入字符串. CLIPBOARD SAVE是暂时存储CLIPBOARD内容,可以用 CLIPBOARD RESTORE恢复. 可见,LABVIEW直接支持CLIPBOARD对字符串的操作.没有直接提供对图片的支持. PREDEFINED CLIPBOARD FORMATS ------------------------------------------- CF_TEXT = 1 CF_BITMAP = 2 CF_METAFILEPICT = 3 CF_SYLK = 4 CF_DIF = 5 CF_TIFF = 6 CF_OEMTEXT = 7 CF_DIB = 8 CF_PALETTE = 9 CF_PENDATA = 10 CF_RIFF = 11 CF_WAVE = 12 CF_UNICODETEXT = 13 CF_ENHMETAFILE = 14 CF_HDROP = 15 CF_LOCALE = 16 CF_MAX = 17 CF_OWNERDISPLAY 0x0080 CF_DSPTEXT 0x0081 CF_DSPBITMAP 0x0082 CF_DSPMETAFILEPICT 0x0083 CF_DSPENHMETAFILE 0x008E 可见,WINDOWS支持CLIIPBOARD多种格式,但是最常见的还是字符串和图片格式. 我们看看如何才能实现CLIPBOARD图片的读写那 在IMAQ中,直接提供的了CLIPBOARD图片操作函数,但是一般人的计算机上都没有安装,可以利用PICTURE BOX间接实现图片写入CLIPBOARD. 这是PICTURE BOX的导出图片的方法节点 把图片写入PICTURE BOX是非常简单的,看一下例子,目的是把前面板形成图片写入剪切板[page] 首先看看前面板 第一步是取得前面板图片,PANEL提供了前面板图片的提取方法节点: 第二步,把图片数据写入PICTURE BOX,调用PICTURE BOX的方法节点写入CLIPBOARD 看看CLIPBOARD的内容,用WINDOWS的PAINT,粘贴,就可以得到图片的内容了. 下面看看在LV中如何读取CLIPBOARD上的图片,有两种方法,一种是利用API,另外一种就是利用上面的私有属性节点,我们用属性节点实现比较简单. 看看实际效果图 通过上面的方法,我们完全实现了LV中图片写入CLIPBOARD和从CLIPBOARD读取图片到LABIVEW 文本的非常简单,举个例子示意一下 |
CopyRight 2018-2019 实验室设备网 版权所有 |