The preprocessor directive #if
will compare a constant declared with CONST
to another constant. If the #if
statement is true, the statements inside the #if…#endif
block will be compiled, otherwise the statements will be discarded.
Const Device = CB280 Delay 500 ' Device only returns the decimal number #If Device = 220 Debug "CB220 module used!" #endif
The above example illustrates how, depending on the type of Cubloc/Cutouch declared, you can decide to include a command in the final compilation of your program. Using conditional directives, you will be able to write applications for different Cubloc/Cutouch modules with just one source file.
Using the preprocessor directive #elseif
or #else
, you can create more complex #if…#endif
expressions.
Const Device = CB220 Delay 500 ' Device only returns the decimal number #If Device = 220 Debug "CB220 module used!" #elseif device = 280 Debug "CB280 module used!" #elseif device = 290 Debug "CB290 module used!" #elseif device = 1720 Debug "CT1720 module used!" #endif
#else
may only be used ONCE in an #if
expression. Also, you can only compare constants declared with the CONST
statement in an #if
directive.
Nested #if
directives are not supported; #if
may not be used inside another #if
.
See also #ifdef...#ifndef.