Snippet

From LabVIEW Wiki
Jump to: navigation, search

A snippet is in the LabVIEW context an image of LabVIEW code.

LabVIEW 2009 introduced the embedding of the actual code inside a PNG image.

With this functionality it is possible to expose your code on a website, and with the same file import the code into a LabVIEW VI.

Creation

Native

LabVIEW 2009 has native support to create a snippet, in the 'Edit' menu select 'Create Snippet from selection'.

Advanced

With the Code Capture Tool version 2.0 it's possible to create a snippet in any LabVIEW version from 7.0 and up.

Importing

LabVIEW 2009

To import the actual code into a VI, just drag and drop the image onto the block diagram of a VI. With Internet Explorer it's possible to drag and drop the image for a web-page into a VI directly.

For Firefox and Google Chrome it's necessary to drop the image in an OS folder or use a plugin IETab (for Firefox).

LabVIEW 8.2, 8.5 and 8.6

To import a snippet into LabVIEW 8.2 it's possible if the snippet is created with the Code Capture Tool in the same (or an older) version of LabVIEW. Second you need a special tool developed by JCarmody. This tool is available for download in the LAVA Uncertified Code Repository.

Technique

The code of a LabVIEW snippet is stored inside a PNG Chunk named 'niVI'. The capitalization of this chunkname makes sure the code is removed if someone alters the image, thus preventing the creation of malicious snippets.

Inside this chunk a filestream representing a VI is stored. LabVIEW interprets this as a normal VI to be embedded.

Code integrity

Technically it's possible to have a different codeset embedded than represented by the PNG image chunk. This is proven by Darin.K on the NI Forum with the following snippet:

MerrimanSnippet.png

Source

Upon dropping this image on a LabVIEW diagram another image was placed.

The name of the Snippet Chunk (niVI), describes this chunk as unsave to copy, tests with Paint.net shows that indeed the chunk is removed when the image is altered. However usage of Microsoft Paint show that the snippet is not removed upon editing of the image.