|
|
|
|
- General properties on the parameters of a procedure
- Handling the parameters of a procedure
- Specific properties that can be used on each parameter of a procedure
- Re-stacking parameters
MyParameters (Reserved word) In french: MesParamètres
The MyParameters keyword is used to handle the parameters passed to a WLanguage procedure. It allows you to access the advanced information about the parameters of the current WLanguage procedure. You have the ability to handle all the parameters or a single parameter. This keyword can be used in the standard WLanguage procedures and in the WLanguage procedures with a variable number of parameters.
// Procedure used to shift controls PROCÉDURE ShiftControl(*) // This code is using a loop such as FOR ... _TO_ // to avoid recalculating the number of parameters at each iteration // Indeed, this number of parameters is fixed. FOR I = 1 _TO_ MyParameters..Count MyParameters[I]..X += 10 END
Remarks General properties on the parameters of a procedure Two properties can be used on all the parameters of a WLanguage procedure: | | Property name | Effect |
---|
NbReceived | Returns the number of parameters actually received by the current WLanguage procedure. | Occurrence | Returns the number of parameters that can be used in the current WLanguage procedure. | Example: PROCEDURE Proc(p1, po2= "Y", po3 = "Z") | | | | Call | Proc("A") | Proc("A", "B") | Proc("A","B", "C") | MyParameters..NbReceived | 1 | 2 | 3 | MyParameters..Count | 3 | 3 | 3 |
The special parameter "*" (that is used to keep the default value) is counted as a received parameter. Handling the parameters of a procedure The standard WLanguage operations are available on each one of the procedure parameters via the following notation MyParameters[N] where N is the number of the parameter to use. For example: - MyParameters[N]: Retrieves the value of the Nth parameter of the procedure.
- MyParameters[N] =: Assigns the value of the Nth parameter of the procedure.
- MyParameters[N]++, MyParameters[N]+=, ...: Combined arithmetic operations.
- MyParameters[N]..<Property Name>: Access to a property of the element.
- MyParameters[N][...]: Access to the subscripted sub-elements of parameter value.
- MyParameters[N].<Sub-element>: Access to a sub-element of parameter value.
- MyParameters[N]:<Member>: Access to a member of parameter value
- MyParameters[N]>>xxx: Automation syntax.
Specific properties that can be used on each parameter of a procedure The following properties can be used on the parameters received by a procedure: | | Property name | Effect |
---|
Default | Used to find out whether the value of the parameter is the one passed by default or if it was explicitly specified. | ByAddress / ByReference | Used to find out whether the parameter was passed by default or by address. |
MyParameters is used to easily re-stack the parameters of a WLanguage procedure: the parameters (or some of the parameters) of the current procedure can be passed to another procedure or to a WLanguage function. The possible syntaxes are: - MyParameters: re-stacks all the parameters of the procedure.
- MyParameters[2 TO]: re-stacks all the parameters of the procedure from the second one.
- MyParameters[TO 3]: re-stacks all the parameters of the procedure up to the third one (inclusive).
- MyParameters[2 TO 4]: re-stacks all the parameters of the procedure from the second one to the fourth one (inclusive).
- MyParameters[2 ON 3]: re-stacks three parameters of the procedure from the second one.
- MyParameters[*]: re-stacks the additional parameters.
Remark: No WLanguage error occurs if the requested parameters do not exist: the missing parameters are ignored. Example: Overriding Open used to write into a trace file:
PROCÉDURE Open(WinName, *) Trace(WinName) WL.Open(WinName, MyParameters[2 TO ])
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|