Základní syntaxe skriptovacího jazyka |
Top Previous Next |
Seznam témat:
Při kliknutí pravým tlačítkem na sestavu (okraj) nebo na oblast lze zvolit položku "Skripty". Skriptem se rozumí kód dodržující určitá syntaktická pravidla, který je automaticky vykonán generátorem v určitém okamžiku. Nejvýznamnější je skript "Před tiskem", který je vykonán před tiskem (i náhledem) sestavy, tedy jako první a často je využíván k výpočtu určitých proměnných, se kterými je pak počítáno v sestavě. V tomto skriptu je nutno rovněž definovat všechny proměnné, na které je odkazováno ve skriptech vykonávaných později (viz příkaz SET). Ve skriptech lze používat stejnou množinu funkcí, jakou je možné využívat např. u elementů typu "vypočítaná položka". Rovněž se lze odkazovat na sloupce v datových zdrojích obvyklou syntaxí dotaz.sloupec. V tomto případě je ale nutné si uvědomit v jaké pozici se odkazovaný datový zdroj nachází v momentě volání skriptu. Řádky začínající na // (dvě lomítka) budou ignorovány, což lze využít k poznámkám nebo k dočasnému vyřazení části skriptu.
Následuje popis klíčových slov skriptovacího jazyka:
SET Přiřadí hodnotu lokální proměnné. Pokud ještě neexistuje, definuje ji. U jednou definované proměnné nelze měnit (předefinovat) typ. Všechny proměnné použité v sestavě musí být definovány ve skriptu sestavy "před tiskem", který má v tomto ohledu výjimečné postavení. To je důležité při použití proměnných v jiných skriptech (vykonávaných později).
Syntaxe: SET proměnná = výraz
Příklad : SET dnesni_datum=DATE SET firma='Vision spol. s r.o.' SET promenna1=3.658 SET promenna1=promenna1*(35-promenna1)
IF, ELSE, ENDIF Slouží k větvení programového kódu.
Syntaxe: IF (pravdivostní_výraz) ... kód1 ... [ELSE ... kód2 ...] ENDIF
Příklad : IF (promenna2>=100) SET promenna2=0 ENDIF
IF (dotaz1.firma='Vision') OKBOX('Je to od nás') ELSE OKBOX('Fuuuuj') ENDIF
LOOP, ENDLOOP, BREAKLOOP Slouží k vytváření programových smyček.
Syntaxe: LOOP ... kód ... IF (podmínka) BREAKLOOP ENDIF ... ENDLOOP
Příklad : SET var1 = 0 LOOP SET var1 = var1+1 IF (var1 >= 10) BREAKLOOP ENDIF ENDLOOP
RETURN Nastaví návratovou hodnotu dle zadaného výrazu. Pozor, vykonávání skriptu není tímto příkazem ukončeno, k tomu slouží EXIT! Návratovou hodnotu lze využít k řízení, zda se má sestava či oblast tisknout (zobrazit) či nikoliv. To platí za předpokladu, že se jedná o skript typu "Před tiskem" a vrácená hodnota je pravdivostního typu (nikoliv číselná či řetězcová).
Syntaxe: RETURN (výraz)
Příklad : RETURN (var1=10) nebo RETURN (TRUE) nebo RETURN (FALSE)
EXIT Bezprostředně ukončí provádění skriptu.
Syntaxe: EXIT
Související témata |