LabVIEW Help
LabVIEW 6.1 Features
Finding Example VIs
Conventions
Glossary
Related Documentation
       LabVIEW Custom Controls, Indicators, and Type Definitions
       LabVIEW Data Storage
       LabVIEW Performance and Memory Management
       Polymorphic Units in LabVIEW
       Porting and Localizing LabVIEW VIs
       The Fundamentals of FFT-Based Signal Analysis and Measurement
       Using Apple Events and the PPC Toolbox to Communicate with LabVIEW Applications on the Macintosh
       Using DDE in LabVIEW
       Using LabVIEW to Create Multithreaded VIs for Maximum Performance and Reliability
       Using LabVIEW with TCP/IP and UDP
       Using LabVIEW with Wireless Devices
Tutorial
       The Computer IS the Instrument
       Virtual Instruments
       Front Panel
       Block Diagram
       Icon and Connector Pane
       SubVIs
       The LabVIEW Environment
       Navigating the Palettes
       Searching the Palettes
       Dataflow
       Activities
             Activity 01. Open and Run a VI
             Activity 02. Use the LabVIEW Help Utilities
             Activity 03. Create a VI
             Activity 04. Document a VI
             Activity 05. Debug a VI
             Activity 06. Search for Example VIs
             Activity 07. Create a Multiplot Chart
             Activity 08. Save Data to a Spreadsheet File
             Activity 09. Configure Your DAQ Hardware and Instruments with MAX
             Activity 10. Use the DAQ Solution Wizard
             Activity 11. Build a Function Generator Using Waveform Data
             Activity 12. Use Property Nodes and Invoke Nodes
Quick Tips
       Additional Resources Tips
       Block Diagram Tips
       Debugging Tips
       Development Processes Tips
       Front Panel Tips
       I/O Tips
       LabVIEW Environment Tips
       Performance Tips
Getting Started
       Introduction to LabVIEW
       Introduction to Virtual Instruments
       LabVIEW Tools
       Navigating the Controls and Functions Palettes
LabVIEW Environment
       Controls Palette
             Front Panel Controls and Indicators
             Numeric Controls and Indicators
             Boolean Controls
             String & Path Controls
             Array & Cluster Controls and Indicators
             List & Table Controls
             Graph Controls
             Ring & Enum Controls
             I/O Controls and Indicators
             Refnum Controls
             Dialog Controls
             ActiveX Controls and Indicators
             Decorations
             Select a Control
             User Controls
       Customizing Your Work Environment
             Accessing Recently Opened Files
             Dragging and Dropping VIs, Pictures, and Text
             Startup Screen On Windows
             Customizing the Controls and Functions Palettes
                   Adding VIs and Controls to the User Library and Instrument Library Subpalettes
                   Automatically Updating Palettes
                   Changing Palette Views
                   Creating ActiveX Subpalettes
                   Creating Subpalettes
                   Creating and Editing a Palette View
                   Inserting Rows or Columns in a Palette
                   Moving Subpalettes
                   Sharing Palette Views
             Setting Work Environment Options
                   Adding a Directory to VI Search Path
                   Setting Block Diagram Options
                   Setting Color Options
                   Setting Debugging Options
                   Setting Font Options
                   Setting Front Panel Options
                   Setting Miscellaneous Options
                   Setting Path Options
                   Setting Performance and Disk Options
                   Setting Printing Options
                   Setting Revision History Options for All New VIs
                   Setting Revision History Options for the Current VI
                   Setting Time and Date Options
                   Setting Undo
       Finding Objects
             Finding a Block Diagram Terminal from a Front Panel Object
             Finding a Front Panel Object from a Block Diagram Terminal
             Finding All Instances of a VI or Type Definition
             Finding an Object or Terminal Local Variable
             Finding an Object or Terminal Property Node
             Searching for Controls, VIs, and Functions on the Palettes
             Finding VIs, Objects, and Text
                   Finding Text
                   Finding VIs and Other Objects
       Menus
             Browse Menu
             Edit Menu
             File Menu
             Help Menu
             Keyboard Shortcuts
             Operate Menu
             Shortcut Menus
             Tools Menu
             Window Menu
       Toolbar
             Aligning Objects
             Distributing Objects
             Reordering Objects
             Toolbar Buttons
       Tools Palette
             Disabling or Enabling Automatic Tool Selection
             Selecting a Tool Manually
VI and Function Reference
       Advanced VIs and Functions
       Analyze VIs
       Application Control VIs and Functions
       Array Functions
       Boolean Functions
       Cluster Functions
       Communication VIs and Functions
       Comparison Functions
       File I/O VIs and Functions
             Setting Permissions
             UNC Filename Support of File I/O VIs for Windows NT/98/95
       Graphics & Sound VIs
       Instrument I/O VIs and Functions
             Compatible GPIB Hardware
             Configuring Serial and Parallel Ports with VISA
             IVI Logical Name Constant
             VISA Resource Name Constant
             VISA Resource Name Control
             GPIB Functions
                   GPIB Device and Controller Functions
                         Controller Functions
                         Device Functions
                   Multiline Interface Messages
                         Message Definitions
       Mathematics VIs
             Additional Information
                   Differences Between the Parser in the Mathematics VIs and Formula Node
                   Formula VI Variables
                   Formula VIs in More Detail
                   Mathematics Related Documentation
                   Mathematics VIs Examples and Parameter Help
                   Mathematics VIs for the LabVIEW Base Package
                   Mathematics VIs Introduction
       Motion & Vision VIs and Functions
       Numeric Functions
       Report Generation VIs
       Select a VI
       String Functions
       Structures
       Time, Dialog, and Error VIs and Functions
       Tutorial
       User Libraries
       Waveform VIs and Functions
Building the Front Panel
       Configuring Objects
             Adding Space to Front Panel and Block Diagram without Resizing
             Changing Indicators to Controls
             Changing Controls to Indicators
             Clearing Front Panel Indicators
             Coloring Objects and Backgrounds
             Configuring Controls and Indicators
             Configuring User-Defined Colors
             Copying and Pasting Objects
             Copying Colors from One Object to Another
             Creating Transparent Objects
             Displaying Hidden Front Panel Objects
             Grouping and Locking Objects
             Hiding Front Panel Controls and Indicators
             Placing a Control on the Front Panel
             Placing an Indicator on the Front Panel
             Replacing a Front Panel Object from the Clipboard
             Replacing Front Panel Objects
             Scaling Front Panel Objects
             Selecting Custom Colors
             Setting Keyboard Shortcuts for Controls
             Setting the Navigation Order of Front Panel Objects
             Using and Configuring System Colors
             Using Imported Graphics in LabVIEW
       Controls and Indicators
             Slides, Knobs, Dials, and Digital Displays
                   Adding Color Ramps to Dials, Knobs, and Gauges
                   Adding Markers to Color Ramps
                   Adding Sliders or Needles
                   Adding Text Labels to Numeric Objects with Scale
                   Changing Data Ranges of Numeric Controls and Indicators
                   Changing Fill Options for Slide Controls and Indicators
                   Changing Format and Precision of Numeric Controls and Indicators
                   Changing Scale Limits
                   Changing the Colors of a Color Ramp
                   Changing the Values of Markers on Color Ramps
                   Changing Values of Numeric Objects with Scale
                   Characters Numeric Controls and Indicators Accept
                   Digital Controls and Indicators
                   Resizing Color Ramps
                   Rotary Controls and Indicators
                   Scaling Slide and Rotary Controls and Indicators
                   Selecting Non-Uniform Scale Marker Distribution
                   Setting the Color in a Color Box
                   Showing and Hiding Labels and Digital Displays
                   Showing the Digital Display of Numeric Objects with Scale
                   Slide Controls and Indicators
                   Using the Increment and Decrement Buttons
             Buttons, Switches, and Lights
                   Changing the Mechanical Action of a Boolean Object
                   Creating and Operating Boolean Controls and Indicators
                   Customizing Boolean Objects with Imported Graphics
                   Labeling Buttons
                   Labeling Other Boolean Objects
             Text Entry Boxes, Labels, and Path Displays
                   Changing Values of Path Controls
                   Configuring Browse Options of Path Controls
                   Empty Paths
             Arrays
                   Changing Array Default Values
                   Changing Array Dimensions
                   Clearing an Array
                   Creating Array Controls and Indicators
                   Default Sizes and Values of Arrays
                   Determining the Size of Arrays
                   Displaying an Array in a Table
                   Displaying or Hiding Index Displays
                   Moving Arrays and Clusters
                   Resizing Arrays
                   Selecting, Cutting, Copying, and Pasting Array Cells
                   Setting Array Default Values
                   Tabbing through Elements of an Array or Cluster
             Clusters
                   Changing Cluster Controls to Indicators and Cluster Indicators to Controls
                   Creating Cluster Controls and Indicators
                   Modifying Cluster Element Order
                   Moving Arrays and Clusters
                   Resizing Clusters
                   Setting Cluster Default Values
                   Tabbing through Elements of an Array or Cluster
             Listboxes and Tables
                   Adding Symbols to Listboxes
                   Creating a Listbox
                   Deleting Listbox Items
                   Disabling or Enabling Listbox Items
                   Displaying Symbols in Listboxes
                   Selecting Listbox Items
                   Setting Case Sensitivity in Listboxes
                   Setting Column Widths at Run-Time
                   Setting the Number of Selections a User Can Select in Listboxes
                   Multicolumn Listboxes and Tables
                         Adding Header Text to a Multicolumn Listbox
                         Configuring Cells for Multiple Line Input
                         Creating a Multicolumn Listbox
                         Editing Data in Tables
                         Entering Data in Tables
                         Inserting or Deleting Rows or Columns in Multicolumn Listboxes
                         Inserting or Deleting Rows or Columns of Data in Tables
                         Resizing Rows and Columns in a Multicolumn Listbox or Table
                         Selecting Table Cells, Rows, or Columns
                         Showing and Hiding Multicolumn Listbox Column Headers
                         Using Tables
             Graphs and Charts
                   Adding a Plot to a Graph or Chart
                   Adding Cursors to Graphs
                   Configuring a Digital Waveform Plot
                   Configuring the X and Y Scales on a Graph or Chart
                   Creating a Chart
                   Creating a Graph
                   Formatting the X and Y Scales on a Graph or Chart
                   Graphing Digital Data
                   Identifying Plot Values in a Masked Digital Graph
                   Masking Digital Data
                   Zooming on a Graph or Chart
             Rings and Enumerated Types
                   Adding and Removing Text Items in Ring Controls
                   Adding Items to Enumerated Type Controls
                   Adding Picture Items to Ring Controls
                   Creating a Ring Control
                   Disabling or Enabling Ring Control Items
                   Displaying Numeric Values of Ring Controls and Constants
                   Enumerated Type Controls
             I/O
                   Creating DAQ Channels
                   Creating I/O Name Controls
             References to Objects or Applications
                   Refnum Controls and Indicators
                   Switching Between Strictly-Typed and Weakly-Typed Control Refnums
                   Types of Refnum Controls and Indicators
             Dialog
                   Adding Pages to Tab Controls
                   Configuring Options for Tab Controls
                   Configuring Tab Control Pages Programmatically
                   Creating a Dialog Box
                   Creating Tab Controls
                   Duplicating Pages on Tab Controls
                   Removing Pages from Tab Controls
                   Reordering Pages on Tab Controls
             ActiveX
                   ActiveX Container Overview
                   Calling an ActiveX Object from LabVIEW
                   Creating New Controls in an ActiveX Container
                   Creating New Documents in an ActiveX Container
                   Editing ActiveX Documents
                   Inserting Existing Documents or Controls in an ActiveX Container
                   Variant Control and Indicator
       Labeling
             Changing Captions Programmatically
             Changing Text Characteristics
             Creating Captions
             Creating Free Labels
             Disabling Front Panel Tip Strips
             Editing Labels
             Rotating Text Labels
       Designing the User Interface
             Defining a Minimum Window Size
             Deleting Objects
             Maintaining Window Proportions with Screen Resolution
             Moving Objects
             Resizing Labels
             Resizing Objects
             Selecting Objects
             Setting a Single Front Panel Object to Scale
             Setting All Objects on a Front Panel to Scale
Building the Block Diagram
       Configuring Objects
             Creating and Editing User-Defined Constants
             Creating Controls and Indicators on the Block Diagram
             Inserting Block Diagram Objects
             Replacing Block Diagram Objects
             Resizing Nodes on the Block Diagram
       Wiring
             Automatic Wiring
             Configuring Automatic Wiring
             Deleting Wires
             Moving Wires
             Selecting Wires
             Wiring Techniques
             Wiring Structures
                   Assigning More Than One Value to a Sequence Local
                   Failing to Wire a Tunnel in All Cases of a Case Structure
                   Overlapping Tunnels
                   Wiring from Multiple Frames of a Sequence Structure
       Using Polymorphic VIs
             Building Polymorphic VIs
             Editing the Shortcut Menu of a Polymorphic VI
             Removing a SubVI from a Polymorphic VI
             Selecting the Instance of a Polymorphic VI Manually
       Comparison
             Comparing Arrays
             Comparing Boolean Values
             Comparing Characters
             Comparing Clusters
             Comparing Numeric Values
             Comparing Strings
             Determining Range Values and Coercing Data
             Determining Range Values and Coercing Data in Arrays
             Setting Comparison Functions to Compare Elements or Aggregates
       Numeric Conversion
             Changing Numeric Representation
             Changing the Numeric Representation of a Control Refnum
             Numeric Data Types
                   Complex Numbers
                   Floating-Point Numbers
                   Integers
                   Numeric Data Types Table
                   Unsigned Integers
       Using Units
             Associating Units with a Numeric Control or Indicator
             Troubleshooting Invalid Units
             Available Units in LabVIEW
                   Additional Units in Use with SI Units
                   CGS Units
                   Other Units
                   Units with Special Names
       Using Variant Data
             Adding Attributes to Variant Data
             Converting Flattened Data to Variant Data
             Converting LabVIEW Data to Variant Data
             Converting Variant Data to LabVIEW Data
             Deleting Attributes from Variant Data
             Retrieving Attributes from Variant Data
Running and Debugging VIs
       Correcting Broken VIs
       Debugging Executable VIs
       Disabling Debugging Tools
       Running VIs
       Transfer Closing Main VI to Target VI
       Debugging Techniques
             Commenting out Sections of Block Diagrams
             Creating Custom Probes
             Determining the Current Instance of a SubVI
             Displaying Warnings
             Execution Highlighting
             Single-Stepping
             Suspending Execution
             Using the Probe Tool
             Using Breakpoints
                   Highlighting Breakpoints
                   Node Breakpoint Example
                   Placing and Removing Breakpoints
                   Structure Breakpoint Example
                   Wire Breakpoint Example
       Error Checking and Error Handling
             Controlling Error Notification
             Defining Custom Error Codes
             Defining Custom Error Codes in Text Files
             Distributing Custom Error Codes in Text Files
             Error Cluster Reports
             Finding Error Code Descriptions
             Setting Up Error I/O in Your VI
             Using Case Structures for Error Handling
             Using Error Clusters
             Using While Loops for Error Handling
       Error Codes and Messages
             Block Diagram Error Messages
                   Array and Cluster Errors
                         Cluster Is Invalid or Empty
                         Cluster Items Are Not Named Uniquely
                         Constant Has Undefined Type
                   Function Errors
                         Function Conflict
                         Function Is No Longer Supported
                         Function Not Found in Library
                         Function Not Supported by this Version
                         No Function Specified
                   Miscellaneous Errors
                         Bad Unit Syntax
                         Data Structure Conflict
                         Enumeration Conflict
                         Global VI Is Missing
                         Hidden Front Panel Control Has Undefined Type
                         Invalid Parameter Type
                         Invalid Return Type
                         Library Not Found
                         No Item With This Name
                         No Library Specified
                         Refnum Conflict
                         Unassigned Output
                         Waveform Is Invalid
                   Node Errors
                         Bad Linkage to Method Information
                         Invalid Method
                         Invalid Property
                         Object Code Is Not Loaded
                   String Errors
                         Format Specifier Type Mismatch
                         Too Few Format Specifiers
                         Too Many Format Specifiers
                         Unknown Format Specifier
                   Structure Errors
                         Case Does Not Have Selector Value
                         Conditional Terminal Is Not Wired
                         Duplicate Items Selected in an Event Data Field Node
                         Duplicate Parameter Name
                         Event Specified by More Than One Event Case
                         Events Specified by Event Case Are Not Compatible with Each Other
                         Formula and Expression Node Error Messages
                         Invalid Parameter Name
                         Missing Assignment to Tunnel
                         Multiple Assignment to Tunnel
                         N Is Not Wired, and There Are No Indexing Inputs
                         No Case for Some Selector Values
                         One or More Event Cases Have No Events Defined
                         Reserved Parameter Name
                         Selector Values Are Not Unique
                         Selector Values Have Wrong Type
                         Shift Register Data Type Is Undefined
                         Shift Register Is Unwired from Inside the Loop
                         Timeout Input Wired but Timeout Event Not Handled
                         Unassigned Sequence Local(s)
                         Unwired Input
                         Unwired Selector
                         You Have Initialized Some Shift Register Elements, but Not All of Them
                   Subroutine Errors
                         LabVIEW Subroutine Link Error
                         Subroutine Priority VI Cannot Call a Non-Subroutine Priority SubVI
                         Subroutine Priority VI Cannot Contain an Asynchronous Node
                   SubVI Errors
                         Bad Linkage to SubVI
                         Polymorphic SubVI Is Broken
                         Recursive Reference
                         SubVI Is Already Running
                         SubVI Is In Interactive Retrieval Mode
                         SubVI Is In Panel Order or Cluster Order Mode
                         SubVI Is Missing
                         SubVI Is Not Executable
                   Wiring Errors
                         Class Conflict
                         Contains Unwired or Bad Terminal
                         More Than One Index Input Is Wired
                         Required Input Is Not Wired
                         This Variable Is Not Connected to Anything
                         This Wire Connects More Than One Data Sink but Has No Source
                         This Wire Connects More Than One Data Source
                         This Wire Is Not Connected to Anything
                         Wire Has Loose Ends
                         Wire Is a Member of a Cycle
                         You Have Connected a Control to a Control
                         You Have Connected an Indicator to an Indicator
                         You Have Connected Numeric Data Types That Have Incompatible Units
                         You Have Connected Two Arrays of Different Dimensions
                         You Have Connected Two Clusters with Different Contents
                         You Have Connected Two Terminals of Different Types
             Error Code Tables
                   ActiveX
                   Apple Event
                   DDE
                   Formula Parsing
                   General
                   GPIB
                   Instrument Driver
                   LabVIEW-Specific Apple Event
                   LabVIEW-Specific PPC
                   Mathematics
                   MATLAB Script and HiQ Script
                   Point By Point
                   PPC
                   Ranges of LabVIEW Error Codes
                   Serial
                   Signal Processing
                   TCP and UDP
                   VISA
                   Waveform
                   Windows Registry Access
       Undefined or Unexpected Data
             Default Data in Arrays
             Preventing Undefined Data
             Unexpected and Default Data in Loops
Creating VIs and SubVIs
       Creating an Icon
       Icon and Connector Pane Overview
       Setting up the Connector Pane
             Assigning Terminals to Controls and Indicators
             Confirming Terminal Connections
             Deleting Terminal Connections
             Selecting a Connector Pane Pattern
             Specifying Required, Recommended, and Optional Connections for SubVIs
       Saving VIs
             Converting Directories to LLBs
             Converting LLBs to Directories
             Creating Password-Protected VIs
             Creating VI Libraries
             Launching a VI from the Command Line
             Locking and Unlocking VIs
             Marking VIs as Top-Level VIs in a Library
             Removing Files from Libraries
             Reverting to the Last Saved Version of a VI
             Saving for a Previous Version
             Saving Individual VI Files
             Saving VIs in Existing Libraries
       SubVIs
             Avoiding SubVI Selections That Create Cycles
             Avoiding SubVI Selections That Contain Front Panel Terminals inside Structures
             Avoiding SubVI Selections That Contain More than 28 Objects
             Creating SubVIs from Selections
             Opening and Editing SubVIs
             Placing SubVIs on Block Diagrams
       VI Hierarchy
             Searching in the VI Hierarchy
             Viewing the Hierarchy of VIs
       Building Stand-Alone Applications or Shared Libraries (DLLs)
             Building a Shared Library (DLL)
             Building a Stand-Alone Application
             Building an Application or Shared Library from an Existing Build Script
             Copying Your LabVIEW Work Environment Options
             Enabling the Web Server in Applications
             Saving a Build Script
             Using the LabVIEW Run-Time Engine
Loops and Case Structures
       Configuring Structures
             Placing and Resizing Structures on the Block Diagram
             Placing Objects Inside Structures
             Removing Structures without Deleting Items in a Structure
       For Loops and While Loops
             Auto-Indexing
             Changing the Continuation Behavior of a While Loop
             Creating For Loops
             Creating Shift Registers
             Creating While Loops
             Initializing Shift Registers and Using Previous Values
             Preventing Code Execution in the First While Loop Iteration
             Terminals Inside or Outside Loops
             Using Shift Registers to Remember Iteration Values
             Using While Loops for Error Handling
       Case, Sequence, and Event Structures
             Adding Cases to the Middle of an Ordered List
             Adding and Duplicating Subdiagrams
             Adding and Removing Sequence Locals
             Deleting Subdiagrams
             Moving between Subdiagrams
             Rearranging Subdiagrams
             Shift Subdiagram To Case Example
             Specifying a Default Case
             Swapping and Shifting Case Subdiagrams
             Swap Subdiagram With Case Example
             Event Structures
                   Adding and Duplicating Event Cases
                   Available Events
                   Avoid Placing Two Event Structures in One Loop
                   Caveats and Recommendations when Using Events in LabVIEW
                   Configuring Events Handled by the Event Structure
                   Handling a Latched Stop Boolean Control in an Event Structure
                   Locking Front Panels
                   Multiple Cases Handling Same Event
                   One Case Handling Multiple Filter Events
                   One Case Handling Multiple Notify Events
                   Use Events for Direct User Interaction Only
                   Using Events versus Using the Wait for Front Panel Activity Function
                   Using Events with Latched Boolean Controls
Grouping Data Using Strings, Arrays, and Clusters
       Strings
             Converting LabVIEW Data to XML
             Converting Numbers into Strings
             Converting XML to LabVIEW Data
             Entering a Carriage Return into a String
             Entering a Linefeed into a String
             Entering a Tab Character into a String
             Entering or Changing Text in a String Control
             Formatting Strings
             Format Specifier Examples
             Format Specifier Syntax
             Format Specifiers Syntax Elements
             Inserting Non-Displayable Characters in Strings
             LabVIEW XML Schema
             Replacing Text in a String at a Specified Point
             Replacing Text in Strings
             Searching for and Replacing Text in a String
             Special Characters for Match Pattern
             Splitting Strings
             Strings for the Match Pattern Function Examples
             String Shortcut Menu Items
                   Backslash ('\') Codes Display
                   Hex Display
                   Limit to Single Line
                   Normal Display
                   Password Display
                   Scroll Bar
                   Update Value while Typing
       Arrays
             Converting an Array to a Cluster
             Creating Array Constants
             Deleting Elements, Rows, Columns, and Pages within Arrays
             Inserting Elements, Rows, Columns, and Pages within Arrays
       Clusters
             Bundling Elements into Clusters
             Converting a Cluster to an Array
             Creating Cluster Constants
             Replacing Cluster Elements
             Replacing Elements, Rows, Columns, and Pages within Arrays
             Unbundling Elements from Clusters
             Unbundling Elements from Clusters by Name
Local and Global Variables
       Initializing Local and Global Variables
       Race Conditions
       Read and Write Variables
       Local Variables
             Changing the Data Direction of a Local Variable
             Creating Local Variables
             Memory Considerations in Using Local Variables
             Reading from One Front Panel Object and Writing to Two Block Diagram Locations
             Writing to One Front Panel Object from Two Block Diagram Locations
       Global Variables
             Changing the Data Direction of a Global Variable
             Creating Global Variables
             Memory Considerations in Using Global Variables
Graphs and Charts
       Adding a Plot to a Graph or Chart
       Adding Multiple X and Y Scales on Graphs or Chart
       Clearing Graphs and Charts
       Configuring the X and Y Scales on a Graph or Chart
       Formatting the X and Y Scales on a Graph or Chart
       Zooming on a Graph or Chart
       Graphs
             Adding Cursors to Graphs
             Configuring a Digital Waveform Plot
             Creating a Graph
             Graphing Digital Data
             Graphing Waveform Data
             Graphing XY Data
             Identifying Plot Values in a Masked Digital Graph
             Masking Digital Data
             Plotting X, Y, and Z Data on a 3D Surface Graph
       Charts
             Charting Waveform Data
             Creating a Chart
             Scrolling through a Chart
Graphics and Sound
       Importing Graphics in Macintosh
       Importing Graphics in UNIX
       Importing Graphics in Windows
       Using Sound Input and Sound Output Devices
File I/O
       Basics of File I/O
             Formatting and Writing Data to a File
             Scanning a File for Data
             Selecting a File
             Selecting a File for Reading and Writing
             Selecting a File Programmatically for Reading and Writing
             Selecting a File through a Dialog Box
       Choosing a File I/O Format
             File I/O with Binary Files
             File I/O with Datalog Files
             File I/O with Text and Spreadsheet Files
             Reading 1D or 2D Data from Binary Files
             Reading from Binary Files
             Reading from Datalog Files
             Reading from Spreadsheet Files
             Reading from Text Files
             Writing 1D or 2D Data to Binary Files
             Writing to Binary Files
             Writing to Datalog Files
             Writing to Spreadsheet Files
             Writing to Text Files
       Creating Configuration Files
             Using Configuration File VIs
       Logging Front Panel Data
             Changing the Log-File Binding
             Clearing the Log-File Binding
             Datalog Type
             Deleting a Record
             Enabling Datalogging
             Retrieving Data Programmatically
             Retrieving Data Using File I/O
             Retrieving Logged Front Panel Data Using a SubVI
             Viewing Logged Data Interactively
Documenting and Printing VIs
       Documenting VIs
             Adding Comments to the Revision History
             Creating and Editing VI Descriptions
             Creating Compiled Help Files
             Creating Object Descriptions and Tip Strips
             Disabling Front Panel Tip Strips
             Generating HTML Documentation for VIs, Templates, and Objects
             Generating RTF Documentation for VIs, Templates, and Objects
             Generating Text Documentation for VIs, Templates, and Objects
             Linking VIs to HTML Files or Compiled Help Files
             Naming Conventions for Image Files
             Resetting the VI Revision History and Revision Number
             Setting up the VI Revision History
             Viewing the VI Revision History
       Printing VIs
             Creating an Image of a Single Front Panel Control
             Creating Custom Print Settings
             Enhancing Printouts
             PostScript Printing
             Print Configuration
             Printing Documentation for VIs, Templates, and Objects
             Printing History Information
             Printing Programmatically
             Printing to a Printer
             Setting Printout Formats
       Generating Reports
             Formatting Data for Report Generation
             Using Tokens in Reports
Customizing VIs
       Changing a VI's Window Title
       Opening SubVI Front Panels During Execution
       Setting Execution Properties
       Setting Window Appearance and Size
       Customizing Menus
             Customizing Menus Programmatically
             Customizing Menus Statically
             Handling Menu Selections
             Showing and Hiding Menu Bars
             Viewing Application Items
Programmatically Controlling VIs
       VI Server
       Adding New TCP/IP Access List Entries
       Adding New Exported VIs Entries
       Controlling Front Panel Objects Programmatically
       Creating Control Reference SubVIs from Property Nodes
       Creating Property Nodes and Invoke Nodes
       Configuring the VI Server
       Editing Existing TCP/IP Access List Entries
       Editing Existing Exported VIs Entries
       Removing TCP/IP Access List Entries
       Removing VIs from the Exported VIs List
       Setting TCP/IP Access for the VI Server
       Specifying Which VIs You Can Control Remotely
       Events
             Control Class
                   Key Down
                   Key Repeat
                   Key Up
                   Mouse Down
                   Mouse Up
                   Value Changed
             VI Class
                   Key Down
                   Key Repeat
                   Key Up
                   Menu Selection (App)
                   Menu Selection (User)
                   Mouse Down
                   Mouse Move
                   Mouse Up
                   Panel Closing
             Application Class
                   Application Exiting
                   Timeout
       VI Server Properties and Methods
             Class Hierarchy
             Application Class
                   Properties
                   Methods
             Generic Class
                   GObject
                         Control
                               Properties
                               Methods
             VI Class
                   Properties
                   Methods
Networking in LabVIEW
       DataSocket
             Controlling a Front Panel Control Remotely
             Enabling the DataSocket Connection for a Control
             Publishing Front Panel Data
             Reading Live Data Programmatically
             Subscribing to Front Panel Data
             Valid URLs for a DataSocket Connection
             Writing Live Data Programmatically
       Web Server
             Adding New Browser Access List Entries
             Adding New Visible VIs Entries
             Allowing and Denying Web Browser Access
             Controlling a Front Panel Remotely Using a Browser
             Controlling a Front Panel Remotely Using LabVIEW
             Creating HTML Documents and Embedding VI Front Panel Images
             Customizing the Remote Panel License Error Message
             Editing Existing Browser Access List Entries
             Editing Existing Visible VIs Entries
             Embedding a Front Panel Image in an Existing HTML Document
             Embedding a VI in an Existing HTML Document
             Enabling and Configuring the Web Server
             Managing Client Traffic to a Front Panel
             Publishing VI Front Panels on the Web
             Removing Browser Access List Entries
             Removing Visible VIs Entries
             Setting Time Limits on Client Control
             Specifying Which VIs are Visible on the Web
             Syntax Examples
             Syntax for Browser Address Lists
             Syntax for the VIs Lists
             Upgrading the Remote Panel License
             Viewing a Front Panel Remotely Using a Browser
             Viewing a Front Panel Remotely Using LabVIEW
Calling Code from Text-Based Programming Languages
Formulas and Equations
       Formula Node and Expression Node Functions and Operators
       Precedence of Operators in Formula Nodes and Expression Nodes
       Formula Nodes
             Array Manipulation in Formula Nodes
             Changing a Terminal Type
             Creating Formula Nodes
             Formula Node Syntax
             Performing Break and Continue Statements in Formula Nodes
             Performing Conditional Statements Using Formula Nodes
             Performing Do Loops Using Formula Nodes
             Performing For Loops Using Formula Nodes
             Performing Switch Statements in Formula Nodes
             Performing While Loops Using Formula Nodes
             Removing a Terminal from a Formula Node
             Scope Rules for Declaring Variables in Formula Nodes
       Expression Nodes
             Creating Expression Nodes
             Expression Node Syntax
       HiQ and MATLAB Scripts
             Adding Scroll Bars to HiQ or MATLAB Scripts
             Configuring the Data Type of HiQ or MATLAB Script Terminals
             Selecting HiQ or MATLAB Script Servers
             Creating a MATLAB Script
             Debugging HiQ or MATLAB Script
             Editing HiQ-Scripts in the Server
             HiQ and MATLAB Data Types in LabVIEW
             Importing or Exporting HiQ or MATLAB Scripts
             Running a HiQ Script from a Notebook
       Using HiQ with LabVIEW
             Accessing a HiQ Notebook
             Closing and Exiting HiQ
             Creating a HiQ Script
             Launching HiQ from a VI
             Printing a HiQ Notebook
             Reading from and Writing to a HiQ Notebook
Instrument Drivers
       Accessing Instrument Driver VIs
       Running the Getting Started VI Interactively (Selecting the GPIB Address, Serial Port, and Logical Address)
       Building Your Instrument Driver Application
       Instrument Driver Structure
       Developing a Full-Featured Driver
       Developing a Simple Driver
       Installing an Instrument Driver
       Interactively Testing Component VIs
       Instrument Control Error Handling
       Modifying an Existing Driver
       Testing Communication with Your Instrument
       Open VISA Session Monitor VI
       Using LabVIEW with IVI Instrument Drivers
Professional Tools
       Professional Tools Related Documentation
       VI Comparison Tools
             Comparing VI Hierarchies
             Comparing VIs
             Showing Differences
             VI Comparison Options
       VI Metrics Tool
             Files in vi.lib
             Saving Metric Information
             Using the VI Metrics Tool
             Additional Statistics
                   Block Diagram Metrics
                   CINs/Shared Library Metrics
                   Globals/Locals Metrics
                   SubVI Interface Metrics
                   User Interface Metrics
       Source Code Control Tools
             Selecting an SCC System
             Built-In SCC System
                   Administration Setup
                         Built-In SCC System for Administrators
                         Creating a Master Directory
                         Editing the Platform List
                   Using the Built-In System
                         SCC User Name
                         Launching the Built-In System Interface
                         Selecting the Development Platform
                         Creating a Local Work Directory
                         File Operations in the Built-In System
                         Creating a Project
                         Managing Projects
                         Creating Project Groups
                         Editing a Project with the File Wizard
                         Adding Extra Files to a Project
                         Checking Out Files
                         Checking In Files
                         Getting the Latest Version of Files
                         Comparing VIs in Source Code Control
                         Viewing the System History
                   Advanced Features
                         Creating Reports
                         SCC System History
                         Labeling Versions of Files for Easy Retrieval
                         Creating Backups of Previous Versions of Files
                         Accessing Previous Versions of Files
                         Deleting Files from SCC
                         Removing Files from a Project
                         Excluding Directories from a Project
                         Project Groups
                         Locking Files
                   Multiplatform Issues
                         Working with Files from Different Platforms
                         Creating Platform-Specific Files
             Perforce
                   Configuring Perforce
                   File Operations in Perforce
                   Launching the Perforce Interface
                   Working with Multiple Clients
             Visual SourceSafe
                   Configuring Visual SourceSafe
                   File Operations in Visual SourceSafe
                   Visual SourceSafe User Name
Important Information
       Warranty
       Copyright
       Trademarks
       Patents
       Warning Regarding the Use of NI Products
Technical Support Resources
       Related Documentation