3.0 KiB
CONDITION
Obiekt opisujący warunek porównania dwóch operandów. Konfigurowany trzema polami w skrypcie i wywoływany metodą CHECK lub jedną z metod sterujących przepływem (BREAK, ONE_BREAK).
Pola
OPERAND1
STRING OPERAND1
Lewy operand porównania. Pole zawiera tekstowy zapis operandu, który zostanie zinterpretowany przy każdej ewaluacji warunku. Dopuszczalne formy:
- literał tekstowy w cudzysłowach (
"..."lub'...'), - literał logiczny (
TRUE,FALSE), - literał liczbowy (
5,-3.14), - nazwa zmiennej (zostanie pobrana jej wartość; jeżeli zmienna jest typu
EXPRESSION,CONDITIONlubCOMPLEXCONDITION, zostanie ewaluowana), - wyrażenie skryptowe — fragment kodu rozpoczynający się od
[,*lub zawierający operatory^albo|.
OPERAND2
STRING OPERAND2
Prawy operand porównania. Reguły interpretacji są identyczne jak dla OPERAND1.
OPERATOR
STRING OPERATOR
Operator porównania. Domyślnie EQUAL. Dopuszczalne wartości:
| Wartość | Znaczenie |
|---|---|
EQUAL |
równa się |
NOTEQUAL |
różne niż |
LESS |
mniejsze niż |
GREATER |
większe niż |
LESSEQUAL |
mniejsze lub równe |
GREATEREQUAL |
większe lub równe |
Metody
BREAK
void BREAK([BOOL emitSignals])
Ewaluuje warunek. Jeżeli wynik jest TRUE, przerywa całe bieżące drzewo wywołań (efekt analogiczny do @BREAK). Jeżeli wynik jest FALSE, metoda nie ma efektu.
Parametry
emitSignals— (opcjonalnie) jeżeliTRUE, dodatkowo emitowany jest sygnałONRUNTIMESUCCESSlubONRUNTIMEFAILEDw zależności od wyniku. DomyślnieFALSE.
Przykłady
COND1^BREAK(TRUE);
CONDKONTROLA^BREAK(TRUE);
CHECK
BOOL CHECK([BOOL emitSignals])
Ewaluuje warunek i zwraca wynik porównania.
Parametry
emitSignals— (opcjonalnie) jeżeliTRUE, dodatkowo emitowany jest sygnałONRUNTIMESUCCESSlubONRUNTIMEFAILEDw zależności od wyniku. DomyślnieFALSE.
Zwraca: BOOL — wynik porównania.
Przykłady
CONPR1^CHECK(TRUE);
CONPR2^CHECK(TRUE);
ONE_BREAK
void ONE_BREAK([BOOL emitSignals])
Ewaluuje warunek. Jeżeli wynik jest TRUE, przerywa wyłącznie bieżącą procedurę (efekt analogiczny do @ONEBREAK). Jeżeli wynik jest FALSE, metoda nie ma efektu.
Parametry
emitSignals— (opcjonalnie) jak wBREAK.
Przykłady
COND1^ONE_BREAK(TRUE);
CONDREMOVEMENUITEM^ONE_BREAK(TRUE);
Sygnały
ONRUNTIMESUCCESS
Wywoływany, gdy ewaluacja warunku zwróciła TRUE i emitSignals było ustawione na TRUE.
ONRUNTIMEFAILED
Wywoływany, gdy ewaluacja warunku zwróciła FALSE i emitSignals było ustawione na TRUE.