Difference between revisions of "Control flow: If clause"

Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
  
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
''''If statement''''
 
  
This action allows to execute a set of subsequent actions according to specific condition(s).
+
''' If statement '''
  
The possible conditions are the same as constraints and are tested in exactly the same way, with logical connectors 'AND' (default one) or 'OR' in case of multiple conditions.
+
The '''If''' statement is available form the ‘Add Action’ menu part ‘Conditions/Loops’ and comes along with a terminating '''End IF'''.
If statement
 
  
The ‘If’ statement is available form the ‘Add Action’ menu part ‘Conditions/Loops’.
+
This action allows to execute a set of subsequent actions according to specific condition(s). The possible conditions are the same as constraints and are tested in exactly the same way, with logical connectors 'AND' (default one) or 'OR' in case of multiple conditions.
An ‘If’ statement needs one or more conditions to be fulfilled to be activated and is
+
 
terminated by ‘End If’. The code in between is only executed in case the condition is met.
+
In case the condition is met and a number of subsequent actions should be executed while different actions should be executed if the condition was not met an '''Else''' statement has to be implemented.  
The possible conditions are the same as constrains and are tested in exactly the same way with  
+
 
logical connectors as ‘AND’ (default one) or ‘OR’.
+
''' Else statement '''
In case the condition is met and a number of subsequent actions should be executed while
+
 
different actions should be executed if the condition was not met an ‘Else’ statement has to be  
+
'''Else''' will only become available by selecting the '''If''' statement again and  
implemented. ‘Else’ will only become available by selecting the ‘If’ statement again and  
 
 
select ‘Add else clause’ from the ‘Set Variable’ menu.
 
select ‘Add else clause’ from the ‘Set Variable’ menu.
In case further constrains should be invoked ‘Add else/If clause’ or ‘Add else/If confirmed  
+
In case further constrains should be invoked ‘Add else/If clause’ or ‘Add else/If confirmed clause’ can be used.
clause’ can be used.
+
 
‘If’ statements my be nested that is within ‘If’ and ‘End If there might be other pairs of ‘If’
+
'''If''' statements my be nested that is within '''If''' and '''End If'''  there might be other pairs of '''If''' and '''End If'''.
and ‘End If .
 
  
Files
 
The available file handling is self explanatory. However care should be given to the fact that
 
especially write commands will need some time before the action is concluded. It may be a
 
good idea to place a subsequent ‘Wait’ statement before trying to read what was written.
 
  
 
</pre>
 
</pre>

Revision as of 16:20, 10 January 2024

Introduction

If statement

The If statement is available form the ‘Add Action’ menu part ‘Conditions/Loops’ and comes along with a terminating End IF.

This action allows to execute a set of subsequent actions according to specific condition(s). The possible conditions are the same as constraints and are tested in exactly the same way, with logical connectors 'AND' (default one) or 'OR' in case of multiple conditions.

In case the condition is met and a number of subsequent actions should be executed while different actions should be executed if the condition was not met an Else statement has to be implemented.

Else statement

Else will only become available by selecting the If statement again and select ‘Add else clause’ from the ‘Set Variable’ menu. In case further constrains should be invoked ‘Add else/If clause’ or ‘Add else/If confirmed clause’ can be used.

If statements my be nested that is within If and End If there might be other pairs of If and End If.


Constraints

MacroDroid Variable/Compare Values

=

Means that the whole content of the string variable has to be equal to the whole set of typed characters.

Compatible with Variables | String, Integer, Decimal, Boolean (Boolean only in the compare values condition/constraints)

!=

Means that the content of the string variable has to be unequal (i.e. different) to the set of typed characters.

Compatible with Variables | String, Integer, Decimal, Boolean (Boolean only in the compare values condition/constraints)

Contains

Means that the content of the string variable has to contain the whole set of typed character. For instance, enter the word information to match with a string variable containing the text: Here are the informations you asked for...

Compatible with Variables | String

Excludes

Means that the content of the string variable has not to contain the typed text.

Compatible with Variables | String

The wildcards '*' and '?'

*

'''*''' stands for any number of character (from 0 to any, same as '.*' in Regex).


?

'''?''' is for 1 and only 1 mandatory character (same as '.{1}' in Regex).


  • Tick the box Enter regular expression matching if the typed text follows Regex syntax, far more powerful than plain text with or without wildcards (for advanced users).