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. |