Sintassi delle istruzioni

Istruzione

Descrizione

IF...ELSE...ENDIF:

 

IF (Condition)

:

ENDIF

 

IF (Condition)

:

ELSE

:

ENDIF

Attenzione: tra "IF" e "(Condition)" deve esserci uno spazio vuoto. Non  si può inserire comandi sulla stessa riga dell'istruzione IF, bensì solo su nuove righe.

"Condition" può essere una qualsiasi espressione di Quickreport, che ritorna VERO o FALSO, per esempio, "IF (Weight>10)".

Le righe dopo l'istruzione IF e fino a ENDIF o ELSE sono eseguite se "Condition" ritorna VERO.

Esempi:

 

IF (Amount*1.20>800)

 OKBox('Warning: Amount including VAT is larger than 800')

ENDIF

 

IF (YesNoBox('Print report now?'))

 RETURN(TRUE)

ELSE

 RETURN(FALSE)

ENDIF

LOOP...ENDLOOP:

 

LOOP

:

ENDLOOP

 

Si possono inserire comandi tra LOOP e ENDLOOP e quando l'istruzione arriva a ENDLOOP, essa riparte dalla riga posta sotto LOOP. Si può uscire dall'istruzione LOOP solo usando i comandi BREAK o BREAKLOOP (vedi sotto).

Esempi:

 

SetVar('Temp',1);

LOOP

 SetVar('Temp',GetVar('Temp')+1);

 IF (GetVar('Temp')>10)

   BREAKLOOP

 ENDIF

ENDLOOP

 

BREAK

Questa istruzione non ha parametri. Permette di terminare istantaneamente il ciclo IF o LOOP, continuando con il comando  successivo all'istruzione ENDIF o ENDLOOP. Nell'esempio suddetto il comando BREAK esce solo dall'istruzione IF, non dall'istruzione LOOP.

BREAKLOOP

Come l'istruzione BREAK, esce dal ciclo.

EXIT

Non ha parametri. Esce completamente ed istantaneamente dall'esecuzione dell'istruzione.

RETURN:

 

RETURN(Expression)

 

RETURN stabilisce il risultato dell'espressione corrente. Un risultato è necessario per l'evento BeforePrint: VERO per confermare la stampa dell'attuale banda, FALSO per evitarla. "Expression" deve tornare VERO o FALSO.

Esempio:

 

RETURN(FALSE)

 

RETURN(Weight>10)

 

Il secondo esempio stampa la banda solamente se il valore del campo WEIGHT è maggiore di 10.