PickValid
| Description: | Attempts to return a valid value given a list of parameters. |
| Returns: | Varies |
Usage: ![]() |
Script or steady state. |
| Function Groups: | Logic Control |
| Related to: | Valid |
Format: ![]() |
PickValid(Parm1, Parm2 [, Parm3, ...]) |
| Parameters: |
| Parm1, Parm2, Parm3... |
| Required. Any number of parameters giving any expressions, from which the first valid value will be selected. |
| Comments: | This function continues its search through its parameter list in order until the first valid value is found. If no valid parameters are supplied, INVALID is returned. |
Examples:
a = Invalid; b = 83; c = Invalid; d = -1; validAns1 = PickValid(a, b, c, d); validAns2 = PickValid(a, c, d, b);
The value of validAns1 and validAns2 will be 83 and -1 respectively. A typical use for this function is in setting default values as follows:
<
MyGraphic
(
parmLeft;
)
[
Left { local value for the left edge };
]
SetDefaults
[
IF 1 Main;
[
left = PickValid(parmLeft, 100);
]
]
Main...
>
Given that module MyGraphic draws something in the window, adding the PickValid statement ensures that even if an invalid value is given as a parameter, the box will still be displayed, because its invalid parameter will have been replaced with the default value of 100.
Note that a local parameter is defined for Left, rather than using the parameter, parmLeft. This is necessary because, if the value passed to the module's parameter had been defined as a constant Invalid, it would not be possible to redefine it within MyGraphic using PickValid or any other statement.
