Syntax |
#If expression Then [statements] [#ElseIf expression Then [statements]] [#Else [statements]] #End If |
||
Description |
Causes the compiler to include or exclude sections of code based on conditions. |
||
Comments |
The expression represents any valid BasicScript Boolean expression evaluating to TRUE of FALSE. The expression may consist of literals, operators, constants defined with #Const, and any of the following predefined constants: |
||
|
Constant |
Value |
|
|
Win32 |
True if development environment is 32-bit Windows. |
|
|
Empty |
Empty |
|
|
FALSE |
False |
|
|
NULL |
Null |
|
|
TRUE |
True |
|
|
The expression can use any of the following operators: +, -, *, /, \, ^, + (unary), - (unary), Mod, &, =, <>, >=, >, <=, <, And, Or, Xor, Imp, Eqv. |
||
|
Following are results when an expression is evaluated. |
||
|
Evaluates to a: |
Result |
|
|
Numeric value |
Non-zero |
TRUE |
|
|
Zero |
FALSE |
|
String not convertible to a number |
Type mismatch error is generated. |
|
|
Null |
Type mismatch error is generated. |
|
|
Text comparisons within expression are always case-insensitive, regardless of the Option Compare setting You can define your own constants using the #Const directive, and test for these constants within the expression parameter as shown below: #Const VERSION = 2 Sub Main #If VERSION = 1 Then directory$ ="\apps\widget" #ElseIf VERSION = 2 Then directory$ ="\apps\widget32" #Else MsgBox "Unknown version." #End If End Sub |
||
|
Any constant not already defined evaluates to Empty. A common use of the #If...Then...#Else directive is to optionally include debugging statements in your code. The following example shows how debugging code can be conditionally included to check parameters to a function: #Const DEBUG = 1 Sub ChangeFormat(NewFormat As Integer,StatusText As String) #If DEBUG = 1 Then If NewFormat <> 1 And NewFormat <> 2 Then MsgBox "Parameter ""NewFormat"" is invalid." Exit Sub End If If Len(StatusText) > 78 Then MsgBox "Parameter ""StatusText"" is too long." Exit Sub End If #End If Rem Change the format here... End Sub |
||
|
Excluded section are not compiled by BasicScript, allowing you to exclude sections of code that has errors or doesn’t even represent valid BasicScript syntax. For example, the following code uses the #If...Then...#Else statement to include a multi-line comment: Sub Main #If 0 The following section of code displays a dialog box containing a message and an OK button. #End If MsgBox "Hello, world." End Sub In the above example, since the expression #If 0 never evaluates to TRUE, the text between that and the matching #End If will never be compiled. |
||
See Also |
|||
|
|
|
|
Symbols |