ReadArray
file,-folder-and-read-functions ReadArray
syntax
- ReadArray(source, domainunit, valuetype, startposition, decimal-seperatorflag)
definition
ReadArray(source, domainunit, valuetype, startposition, decimal-seperatorflag) results in an attribute, with row(s) of values, read from the source argument.
The second domainunit configures the domain-unit of the resulting attribute.
The third argument valuetype configures the value-type of the resulting attribute.
The fourth argument startposition configures the read position in the source. Spaces/tabs are used as delimiter.
The numbering of the positions is counted from left to right, meaning position two is the position of the second character in the first row.
The ReadArray function also generates a uint32 parameter subitem, called ReadPos. This parameter indicates the position of the next value after the value being read by the ReadArray function, see the example.
description
The ReadArray function is used to read a specific row from a text file, like an ini file.
Use the readvalue function to read specific values from a text file.
applies to
- parameter source with string value type
- unit domainunit with value type from group CanBeDomainUnit
- valuetype can be any value type
- parameter startposition with uint32 value type
- decimal-separator, an optional additional uint32 parameter or literal with two possible values:
- 0 (default value): indicates a point is interpreted as decimal seperator
- 1: indicates a comma is interpreted as decimal seperator.
example
container ReadArray
{
parameter<string> file: StorageName = "%projDir%/data/text.txt", StorageType = "str";
unit<uint32> HDomain: nrofrows = 4;
unit<uint32> BDomain: nrofrows = 6;
attribute<string> Header (HDomain) := ReadArray(File, HDomain, string, 0);
attribute<string> BodyRow1 (BDomain) := ReadArray(File, BDomain, string, Header/ReadPos);
};
6 | 9.02 | Test | True | |||
25000 | 27500 | 11000 | 6100 | 14400 | 300 | 70 |
30000 | 32500 | 12000 | 6200 | 14500 | 320 | 72 |
35000 | 37500 | 13000 | 6300 | 14600 | 340 | 74 |
40000 | 42500 | 14000 | 6400 | 14700 | 360 | 76 |
45000 | 47500 | 15000 | 6500 | 14800 | 380 | 78 |
50000 | 52500 | 16000 | 6600 | 14900 | 400 | 80 |
text.txt
Header |
---|
6 |
9.02 |
Test |
True |
HDomain, nr of rows = 4
BodyRow1 |
---|
25000 |
27500 |
11000 |
6100 |
14400 |
300 |
70 |
BDomain, nr of rows = 6