Molte animazioni ed altre entità richiedono di essere collegate ad una o più espressioni o valori.

Ove la descrizione del campo rechi la dicitura Espressione in luogo di Item, è possibile inserire non solo il nome di un singolo item o variabile di sistema, ma anche valori costanti (es. TRUE, 0, 1, -1, FALSE, ecc.) ed espressioni calcolate definite con sintassi VBScript (es. SQR(ITEM_1)/ ITEM_2 + 3.6 ).

 

Nota: per le animazioni di tipo Testo, l’attribuzione di espressioni complesse perde di significato se è abilitata l’immissione di testo da parte dell’utente: se il testo è alimentato dal riferimento ad un item, il valore inserito viene trasferito all’item; se è alimentato da un’espressione complessa il valore inserito non viene elaborato, ma il testo contenuto nell’animazione viene sovrascritto. Per animazioni di tipo Testo alimentate da espressioni complesse si consiglia perciò di disabilitare l’immissione.

 

Di seguito sono riportati alcuni esempi di espressioni valide (è inteso che ITEM_n  non sia un item di tipo Testo!):

 

(ITEM_1+ITEM_2)^1/3

 

ITEM_1/1000

 

ITEM_5*(65-ITEM_1)

 

ITEM_3=1          (restituisce –1 se il confronto risulta vero; 0 se falso)

 

 

Annotazioni importanti:

 

Gli operatori OR e AND sono intesi come operatori bit a bit, non come operatori booleani.

Gli item di tipo Digitale possono assumere i valori 0 (OFF) e 1 (ON), mentre i valori FALSE e TRUE corrispondono rispettivamente ai valori numerici 0 e -1.
In particolare, qualunque valore diverso da 0 viene considerato True, mentre il valore 0 viene considerato False. Al contrario, un’espressione che restituisca True (ad esempio un confronto) non restituisce 1 ma -1 (il valore di True in sintassi VB Script).

L’operatore NOT opera una negazione logica secondo la logica VB Script
Pertanto:

 

ITEM_1 OR ITEM_2

Se gli item sono di tipo Digitale restituisce 1 se almeno uno degli item ha valore 1, 0 in caso contrario, secondo la tavola della verità per l’operazione OR binaria.
Se invece uno o più item sono di tipo Analogico ed assumono un valore diverso da 0 o da 1, l’espressione restituisce l’OR bit a bit tra i valori (es. 1 OR 6 = 7;  1 OR 7 = 7)

 

 

ITEM_1 AND ITEM_2

Se gli item sono di tipo Digitale restituisce 1 se entrambi gli item sono a 1, 0 in caso contrario, secondo la tavola della verità per l’operazione AND binaria.
Se invece uno o più item sono di tipo Analogico ed assumono un valore diverso da 0 o da 1, l’espressione restituisce l’AND bit a bit tra i valori (Es. 1 AND 2 = 0,  1 AND 3 = 3)

 

TRUE

Restituisce -1

 

FALSE

Restituisce 0

 

ITEM_1 = 2

Restituisce -1 (non 1!) se ITEM_2 ha valore 2, 0 in caso contrario.

 

NOT (ITEM_1)

Non restituisce l’inverso binario (0🡪1; 1🡪0) del valore dell’item, ma si ha invece:
NOT (0) = -1

NOT (-1) = 0

Per i dati analogici, il valore risultante è dato dall’applicazione della tavola della verità sopra esposta a ciascun bit dell’argomento.

 

Per ottenere l’inverso binario, in modo che l’espressione restituisca 0 se l’item vale 1, e 1 se l’item vale 0, occorre introdurre un’espressione del tipo:

 

ABS (NOT(CBOOL(ITEM_1))

 

 

Il risultato finale dell’espressione deve essere compatibile con il tipo di dati atteso per la funzionalità controllata dall’espressione stessa: nella tabella seguente sono indicati i risultati compatibili con le principali funzionalità:

 

Se il campo Espressione si riferisce alla Funzionalità:

 

L’espressione deve restituire un valore finale di tipo:

 

Testo (animazioni Testo)

Qualsiasi

 

Soglie per attribuzione colori, testi , immagini

Numerico

 

Visibilità

Booleano (TRUE o FALSE) o Numerico (=0 o ≠0)

 

Abilitazione

Booleano (TRUE o FALSE) o Numerico (=0 o ≠0)

 

Variazione dinamica di posizione o dimensioni (animazioni)

 

Numerico intero

Variazione dinamica dell’angolo di rotazione (animazioni)

 

Numerico

Valore e limiti min/max di riempimento (animazioni)

 

Numerico

Valore minimo; valore massimo (animazioni Slider e Spinner)

 

Numerico

Valore (animazioni Strumento, Checkbox)

 

Numerico

Marcato (Menu)

Booleano (TRUE o FALSE) o Numerico (=0 o ≠0)

 

Espressione (Calcoli Generali)

Numerico per item di tipo Digitale e Analogico, Stringa di testo, Numerico o Booleano per item di tipo Testo

 

Espressione (Azioni su evento)

Booleano (TRUE o FALSE) o Numerico (=0 o ≠0)