|
|
|
|
- Declaring the combinations
- Enabling or disabling the options of a combination
- Reading the combination options
- Passing a combination as a parameter to a procedure
- Code suggestions
- Extension of combination
- Preset combinations
- Mutual exclusion
- Associated properties
- Available WLanguage functions
- Limitations
Combination (Variable type) In french: Combinaison
A combination is a set of options. You can assign one or more combination options to a Combination variable or parameter, or assign no values.
CombinationType is Combination
CreateFile
ReadFile
WriteFile
DeleteFile
END
FileAction is CombinationType
FileAction = ReadFile + WriteFile
...
IF FileAction[WriteFile] THEN
ELSE
END
Syntax
Declaring a combination Hide the details
<Combination name> is Combination <Combination options> END
<Combination name>: Name of the combination to declare <Combination options>: Different options available for the combination. <END>: End of declaration.
Declaring a Combination variable Hide the details
<Variable name> is <Combination name>
<Variable name>: Name of the Combination variable to declare. <Combination name>: Name of a previously declared combination. Remarks Declaring the combinations A combination must be declared in: - The project initialization code so that it can be used in all the processes of the project (code of the project, windows, controls, procedures, etc.).
- The global declaration code of a window so that it can be used in all the processes of the window (code of the window, controls in the window, local procedures, etc.).
- The opening code of a report so that it can be used in all the processes of the report (code of the report, controls in the report, local procedures, etc.).
- The declaration code of a class in order to be used in the class.
- To access this combination from a method of the class, use the "::<Combination name>" syntax.
- To access this combination from outside the class, use the "<Class name>::<Combination name>" syntax.
- The declaration code of a set of procedures so that it can be used in all the procedures of the set.
Remark: A combination is always global: - to a project,
- to a window,
- to a report,
- to a class.
Enabling or disabling the options of a combination Several syntaxes can be used to enable or disable the options of a combination. For example: - Declaration of the combination used for the examples:
CombinationType is Combination
CreateFile
ReadFile
WriteFile
DeleteFile
END
FileAction is CombinationType
- Disable all options:
Syntax:
<Combination variable> = 0 Example:
- Enable one or more options:
Syntax:
<Combination variable> = Option 1 <Combination variable>[Option 1] = True
<Combination variable> = Option 1 + Option 2 <Combination variable>[Option 1 + Option 2] = True Examples:
FileAction = ReadFile
FileAction = ReadFile + WriteFile
FileAction[ReadFile] = True
FileAction[ReadFile + WriteFile] = True
- Disable one or more options:
Syntax:
<Combination variable>[Option 1] = False
<Combination variable>[Option 1 + Option 2] = False Examples:
FileAction[ReadFile] = False
FileAction[ReadFile + WriteFile] = False
Reading the combination options Several syntaxes can be used read the combination options. For example: - Combination declaration
CombinationType is Combination
CreateFile
ReadFile
WriteFile
DeleteFile
END
FileAction is CombinationType
- Check whether all the options are disabled:
Syntax:
IF <Combination variable> = 0 Examples:
IF FileAction = 0 THEN...
- Check whether an option is enabled:
Syntax:
IF <Combination variable> = Option 1 ... IF <Combination variable>[Option 1] = True... Examples:
IF FileAction = ReadFile THEN ...
IF FileAction[ReadFile] = True THEN...
- Check whether several options are enabled:
Syntax:
IF <Combination variable> = Option 1 + Option 2 THEN ... IF <Combination variable>[Option 1 + Option 2] = True ... Examples:
IF FileAction = ReadFile + WriteFile THEN ...
IF FileAction[ReadFile + WriteFile] = True THEN...
- Check whether at least one option is enabled:
Syntax:
IF <Combination variable>[Option 1] OR <Combination variable>[Option 2] THEN... Examples:
IF FileAction[ReadFile] OR FileAction[WriteFile] THEN...
Passing a combination as a parameter to a procedure A Combination variable can be passed as a parameter to a procedure. To do so, use the following syntax: <Procedure name>(<Name of combination variable>) For example:
PROCEDURE FileType(p is CombinationType)
FileType(ReadFile + WriteFile)
FileType(FileAction)
Code suggestions Code suggestions for a Combination parameter include the different options of the combination. Extension of combination You can include one or more options from other combinations and add new options. The syntax used is as follows: <Combination name> is Combination [Base combination] <Combination additional options> END where: - <Combination name>: Name of a previously declared combination.
- Base combination: Name of the base combination to be used.
- <Combination additional options>: Additional options that will be taken into account in the combination.
Example: CombinationType is Combination
CreateFile
ReadFile
WriteFile
DeleteFile
END
AdvancedCombinationType is Combination
[CombinationType]
OtherAttributes
END
Preset combinations Several options can be combined to force a preset combination. The combined options must belong to the combination (or to base combinations) The syntax used is as follows: <Combination name> is Combination <Option 1 of combination> <Option 2 of combination> <Option 3 of combination> = <Option 1 of combination> + <Option 2 of combination> END Example: CombinationType is Combination
CreateFile
ReadFile
WriteFile
DeleteFile
Read_Write_File = ReadFile + WriteFile
END
Mutual exclusion You can implement mutual exclusion in the combination options. For example, a combination contains three options: Option1, Option2 and Option3. Option2 and Option3 are mutually exclusive: - Option1 and Option2 can be active.
- Option1 and Option3 can be active.
- Option2 and Option3 cannot be enabled.
- Option1, Option2 and Option3 cannot be active.
The following syntax must be used: <Combination name> is Combination <Option 1 of combination> <Option 2 of combination> <Option 3 of combination> // Exclusions <Option 2 of combination> - <Option 3 of combination> END Remark: By combining extensions and exclusions, you can get the following for the same options: - a parameter of a function that imposes an exclusion,
- a parameter of a function that does not impose any exclusion or that imposes a different exclusion.
Associated properties The following properties are associated with Combination variables: | | Name | Gets the name of a Combination variable. | Value | Gets the value of a Combination variable. |
Available WLanguage functions A combination can be stored in an HFSQL item or in another file format. If necessary, you can store the name or the value of the combination ( Name or Value property, respectively). The following WLanguage functions allow you to get the characteristics of a stored combination:
Limitations - Combinations are not available in dynamic compilation.
- Combinations cannot be used outside the project.
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|