MORECHEMISTRY.COM::MORE CHEMISTRY ON THE WEB    
Home Member Area Links Events Publications Promotions
 

LabVIEW programming topics - Using indexed arrays in ini files


Introduction

LabVIEW provides a convenient way to read single data elements from and to write single data elements to ini (config) files. However, for a series of similar data elements, e.g. an array, you should create some method of your own.

The presented method assumes you want to use the following type of data in your ini file:

[section]
key 0=value0
key 1=value1
..
key n=valuen

In other words all data elements of an array are stored as a separate key.

These data elements may represent numerical values, booleans, or strings as in the following example:

[sample section]
boolean 0=TRUE
boolean 1=FALSE
boolean 2=TRUE
boolean 3=FALSE
double 0=1
double 1=2
double 2=3
double 3=4

Solution for reading the ini file

The general approach is to find all the keys in a given section and to compare the found key names with a given key name without number (index of the array).

Solution for writing the ini file

The general approach would be first to clear all the keys with a given name (followed by a number or index of the array) in a given section and next to write each data element of the array in that section with the key existing of a given name and the index of the element..

Implementation

This method requires a separate function for each data type. Fortunately LabVIEW offers a method to store all related funtions in a single library and a method to combine similar functions in a polymorphic function.

Sample program

The sample program shows how to read/write values from an array of doubles and an array of Booleans.

Downloads

ini file support - indexed arrays.zip

which includes:

  • ini - open file.vi
  • ini - indexed array.llb
  • ini - read indexed array.vi
  • ini - write indexed array.vi
  • ini - test indexed array.vi

Remarks

  • The presented VIs were created with LabVIEW 8.5.1.
  • The presented VIs works fine for Booleans, strings (without commas) and the following numerical values: double, single and both signed and unsigned integer.
  • The function for the single format has been derived from the function for the double format. It can be used as an example for other derived formats.
  • When you close an ini file that needs to be updated, don't forget to explicitely wire a TRUE constant to the Close Config Data function.
  • There is no function for Path arrays.

 


Bart Boshuizen, 2011/02/28


© copyright 2000-2014, morechemistry.com
design by Bb.