Scripts di interrogazione: condizioni

Scripts di interrogazione: le condizioni

Le condizioni sono elementi degli scripts di interrogazione che possono essere usati:

bulletnella definizione degli scripts di interrogazione (ad esempio: nelle regole di validazione);
bulletin certi campi degli oggetti dei computi metrici (gruppi e articoli) sui cui è possibile utilizzare i valori variabili derivanti dallo script di interrogazione associato al progetto.

Le condizioni sono predicati booleani, ovvero predicati che possono essere veri o falsi.
Il significato delle condizioni varia in funzione delle circostanze, ma in generale si può dire che:

bulletuna condizione vera abilita l'oggetto o attiva l'opzione cui è collegata;
bulletuna condizione falsa lo disabilita o inibisce l'opzione.

Nella valutazione delle condizioni valgono le seguenti convenzioni:

bulletgli oggetti boolean hanno valore T (vero) oppure F (falso);
bulletgli oggetti di tipo DATA sono considerati stringhe nel formato YYYY-MM-DD (anno-mese-giorno); ad esempio il 31 dicembre 2007 viene scritto come 2007-12-31;
tale formato ha il pregio di consentire il confronto alfabetico tra date.
ATTENZIONE: poiché 2007-12-31 è interpretata come espressione numerica, per eseguire confronti alfabetici fra date è necessario usare una notazione come #2007-12-31#; esempio: /CHECK=#@#>#2007-12-31#

Le condizioni possono fare uso dei seguenti elementi sintattici:

bullet i comuni operatori aritmetici di base ( + - * / );
bulleti comuni segni di uguaglianza e disuguaglianza (=  !=  <>  < > >= <=);
bulletvalori costanti (esempio: 13 oppure ALFA);
bullet riferimenti alle variabili del progetto; il nome della variabile deve essere preceduto da un $. Esempio: se è stata definita una variabile ASSE, è possibile usare $ASSE come elemento di una espressione;
bullet il simbolo @, che viene sostituito con 'il valore della variabile in esame' (questa sintassi è consentita solo nella definizione delle variabili);
bullet set di costanti, numeriche o alfanumeriche, comprese tra parentesi graffe e separate dal carattere pipe; esempio: {30|45|100} oppure {ALFA|BETA|GAMMA};
$ASSE = {30|45|100} significa $ASSE è uguale ad uno tra i valori 30,45,100
$ASSE != {30|45|50:60} significa $ASSE è diverso da tutti i valori 30,45,50,51,52...58,59,60
l'uso dei sets di costanti è regolato come segue:
bulleti sets di costanti possono essere usati solo con gli operatori = e != (o <>);
bulleti sets di costanti possono essere usati solo alla destra dell'operatore;
bulletgli operatori && (AND logico) e || (OR logico);
bulletle parentesi tonde per eseguire raggruppamenti logici;
bulletil costrutto SE()

IL COSTRUTTO SE()
La sintassi del costrutto SE è la seguente (i due costrutti sono alternativi ma identici):

SE(condizione ; valore se vero ; valore se falso)

IF(condizione ; valore se vero ; valore se falso)

Il costrutto può restituire solamente valori numerici (e perciò: VALORE_SE_VERO e VALORE_SE_FALSO devono avere valore numerico. E' possibile annidare più costrutti IF() l'uno dentro l'altro.

ESEMPIO: SE($ASSE = 5; 100; 200)

IL COSTRUTTO SETESTO()
Il costrutto SETESTO è identico al costrutto SE(), salvo il fatto che VALORE_SE_VERO e VALORE_SE_FALSO sono NON numerici.

SETESTO(condizione ; valore se vero ; valore se falso)

IFTEXT(condizione ; valore se vero ; valore se falso)

ESEMPIO: SE($ASSE = 5; ABRAMO; GIACOBBE)

Pagina base del manuale di JOLLY

aggiornato il 23/01/2010

home

scrivimi, se ti va