table search, table search vertically
The table will be searched until the first (or next) pattern is matching the comparison expression.
table search searches the table horizontally line by line. To include header row, specify 0 as starting row number, otherwise 1 (or a bigger number if needed).
table search vertically searches the table vertically through the columns and then proceeding to the right.
In this case, searching at the next colum begins at row 1 downward and not with the header row.
Attention: All values from the table being compared are strings, even if they contain numbers.
Indirect parameter passing is disabled
4-6
No. | Type | Description |
---|---|---|
1. input |
string | Name of existing table |
2. code |
comparison expression :string |
Value compared with the table contents This parameter is a piece of code typically found on the right-hand side of a comparison with '=' or '<>'. Single values, ranges (e.g. 3..5), multiple values separated by commas are supported. For text comparison, wildcards are supported if the string is of type softquoted string. |
3. io |
numeral | Row number The row number is considered the starting row number for the search. When a match has been found, then the corresponding row number will be returned. |
4. io |
numeral | Column number The column number is considered the starting column number for the search. When a match has been found, then the corresponding row number will be returned. |
Opt. 5 input |
table column | Column representing left boundary for searching See table columns as function parameters for general ruling for this parameter.
|
Opt. 6 input |
table column | Column representing right boundary for searching See table columns as function parameters for general ruling for this parameter.
|
Type | Description |
---|---|
boolean | Match found true if match has been found, otherwise false. |
table initialize( table 1,
{ { A, B, C, D, E, A, G },
{ E, C, D, B, A, H, X },
{ T, E, B, C, A, E, A } } );
row[] = 0; col[] = 0;
echo("Search entire table");
while ( table search( table 1, (A), row[], col[] ) = true)
{
echo("Row: ", row[], " Col: ", col[]++ );
}
row[] = 0; col[] = 0;
echo("Search entire table vertically (Attention: begins at row 1 at next column");
while ( table search vertically( table 1, (A), row[], col[] ) = true)
{
echo("Row: ", row[]++, " Col: ", col[] );
}
row[] = 0; col[] = 0;
echo("Limit search to column 1 - 4:");
while ( table search( table 1, (A), row[], col[], B, E ) = true)
{
echo("Row: ", row[], " Col: ", col[]++ );
}
Search entire table
Row: 0 Col: 0
Row: 0 Col: 5
Row: 1 Col: 4
Row: 2 Col: 4
Row: 2 Col: 6
Search entire table vertically (Attention: begins at row 1 at next column
Row: 0 Col: 0
Row: 1 Col: 4
Row: 2 Col: 4
Row: 2 Col: 6
Limit search to column 1 - 4:
Row: 1 Col: 4
Row: 2 Col: 4