Základní syntaxe skriptovacího jazyka

Top  Previous  Next

Seznam témat:

řešení

 

Řešení

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