Allows conditional execution or branching, based on the evaluation of a Boolean expression.
IF expression THEN
[ ELSEIF expression THEN ]
[ ELSE ]
Any expression that evaluates to true or false.
New is the ability to use the one line version of IF :
IF expression THEN statement [ ELSE statement ]
The use of [ELSE] is optional.
Also new is the ability to test on bits :
IF var.bit = 1 THEN
In V 2.00 support for variable bit index is added:
Dim Idx as Byte
For IDX = 0 To 7
If P3.IDX = 1 Then
Print "1" ;
Print "0" ;
A new feature in V2 is the ability to use multiple tests:
If a > 10 AND A < 10 OR A = 15 Then
It does not work with strings but only numeric conditions.
When you want to test on bytes you can also use the string representation:
Dim X As Byte
If X = "A" then ' normally you need to write :
If X = 65 Then 'so these two lines do the same thing
Dim A As Integer
A = 10
If A = 10 Then 'test expression
Print " This part is executed." 'this will be printed
Print " This will never be executed." 'this not
If A = 10 Then Print "New in BASCOM"
If A = 10 Then Goto Label1 Else Print "A<>10"
Rem The following example shows enhanced use of IF THEN
If A.15 = 1 Then 'test for bit
Print "BIT 15 IS SET"
REM the following example shows the 1 line use of IF THEN [ELSE]
If A.15 = 0 Then Print "BIT 15 is cleared" Else Print "BIT 15 is set"