SmartTouch
– Control gráfico
Manual de programación v1.5.1
Cuando el programador necesita que se ejecute más de una instrucción dependiendo de la condición puede repetir la misma
función "if", pero resulta mejor opción la utilización de la función "if" opuesta en combinación con la función "goto" y una
etiqueta. Es decir:
If (param>100)
var1=param;
If (param>100)
var2=param*2;
If (param>100)
var3=param*3;
If (param<=100)
var1=0;
If (param<=100)
var2=0;
If (param<=100)
var3=0;
El script anterior es el mismo que el mostrado a continuación utilizando la condición opuesta:
If (param<=100)
goto next;
var1=param;
var2=param*2;
var3=param*3;
next:
If (param>100)
goto next2;
var1=0;
var2=0;
var3=0;
next2:
El programador puede utilizar funciones "if" anidadas con el objetivo de implementar condiciones compuestas. En el ejemplo
siguiente el script comprueba si el valor del parámetro se encuentra entre 5 y 10. Si la condición es cierta el parámetro es
guardado en la variable 1. Si no, la variable toma el valor 0.
If (param<5)
If (param>10)
var1=param;
var1=0;
Cuando se utilizan funciones "if" anidadas, se puede pensar que si la primera condición es falsa, la siguiente instrucción no
será ejecutada, y por tanto el segundo "if" no es evaluado, pero no funciona así.
En el ejemplo anterior, la instrucción que sigue a la primera función "if" termina en el primer punto y coma ";". Esto significa
que si el parámetro no es menor que 5 el programa continúa en la instrucción "var1=0". Esto se puede entender mejor
reescribiendo el script de la siguiente manera:
www.besknx.com
Si el parámetro es mayor 100 la operación
"goto" no se ejecuta y las siguientes sí.
Si el parámetro no es menor que 5, el programa
salta directamente a la instrucción var1 = 0
36