Conditionally compiles a block of statements, depending on the value of one or more product constants.
%If productConst
statements
[ %ElseIf productConst
statements ]
...
[ %Else
statements ]
%End If
productConst
A constant defined by a IBM® software application, or one of the platform-identification constants described as follows. Refer to the product's documentation for a list of product-defined constants.
statements
Statements that are compiled if productConst evaluates to TRUE.
You cannot enter %If, %ElseIf, %Else, and %End If directly in the IDE. You must enter these directives in a file and insert the file in the IDE with the %Include directive.
productConst must appear on the same line as %If or %ElseIf. Nothing except a comment can appear on the same line following %If productConst or %ElseIf productConst, or on the same line with %Else or %End If. None of these lines can be continued with the underscore character (_).
To test each %If condition or %ElseIf condition in this statement, the LotusScript® compiler calls the IBM software application to evaluate the constant productConst. The product returns either TRUE (-1) or FALSE (0).
A condition is evaluated only if the product returns FALSE for the preceding condition. LotusScript compiles the statements for the first %If condition or %ElseIf condition that the product evaluates as TRUE. Once this happens, no further conditions are evaluated, and no further statements are compiled.
If neither the %If condition nor any %ElseIf condition evaluates to TRUE, the %Else statements (if any) are compiled.
You can include any number of %ElseIf directives in the block.
You can't include an %If block within an %If block.
LotusScript implements the constants in the following table as product #defines. When one of these is used as productConst, the LotusScript compiler does not call the product to evaluate productConst. LotusScript itself evaluates the constant as TRUE or FALSE. The value of each constant depends on the platform LotusScript is running on.
Constant |
Platform or functionality |
---|---|
WIN16 |
Windows with 16-bit API (Windows 3.1) |
WIN32 |
Windows with 32-bit API (Windows NT or Windows 95) |
WINNT |
Windows NT |
WIN95 |
Windows 95 |
WIN40 |
Windows 95 or Windows NT 4.0 |
WIN98 |
Windows 98 |
WIN2K |
Windows 2000 |
WINDOWS |
Any Windows platform type (any of the preceding WINxx constants) |
HPUX |
HP/UNIX 9.X or greater |
SOLARIS |
Sun/OS 5.0 or greater |
UNIX |
Any UNIX type (HP_UX or Solaris) |
OS2 |
OS/2, version 2.0 or greater |
LINUX |
Linux |
MAC |
Macintosh System 7 |
OLE |
OLE-2 is available |
MAC68K |
Macintosh Motorola 68000 version (running on either a 68xxx Macintosh or the PowerPC®) |
MACPPC |
Macintosh PowerPC version |
OS400 |
IBM AS400 |
OS390 |
IBM S/390® User System Services |
ZOS |
IBM z/OS® (OS390 is also TRUE) |
For example, here are several platforms and the constants that identify them:
Windows 3.1
WIN16, WINDOWS
Windows 95
WIN32, WIN95, WIN40, WINDOWS
HP/UNIX 9.X
HPUX, UNIX
OS/2 2.0 or greater
OS2