orbis:oil
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
| Obě strany předchozí revizePředchozí verzeNásledující verze | Předchozí verze | ||
| orbis:oil [2025/04/15 12:01] – [Základní informace] ppk | orbis:oil [2025/08/29 09:15] (aktuální) – [kombinace skriptů] ppk | ||
|---|---|---|---|
| Řádek 9: | Řádek 9: | ||
| Změnu aktivního elementu je možné provést nastavením systémové proměnné '' | Změnu aktivního elementu je možné provést nastavením systémové proměnné '' | ||
| Příkazový řádek tedy v souhrnu disponovat těmito jevy: | Příkazový řádek tedy v souhrnu disponovat těmito jevy: | ||
| - | * definice proměnné stylem '' | + | * definice proměnné stylem '' |
| - | * Cesta k elementu | + | * Cesta k elementu |
| - | * Cesta k vlastnosti elementu | + | * Cesta k vlastnosti elementu |
| - | * Výraz | + | * Výraz |
| - | * Přiřazení | + | * Funkce <code oil> |
| - | * Funkce \\ '' | + | ObjecModel.WORK.CreateElement(TOwnerEntity, |
| - | * Seznam | + | ObjecModel.WORK.CreateElement(TOwnerEntity, |
| - | * a kombinace těchto stavů. | + | </ |
| + | * Přiřazení | ||
| + | ObjecModel.WORK.Karel.Name = ' | ||
| + | </ | ||
| + | * Seznam | ||
| + | * a kombinace těchto stavů: <code oil> | ||
| + | W: TElement | ||
| + | i: integer | ||
| + | S: string | ||
| + | Bobo: TElement | ||
| + | |||
| + | W = ÓbjecModel.WORK // do W přiřadíme element WORK | ||
| + | W.CreateElement(TOwnerEntity, | ||
| + | // to samé provedeme s Bohdanem ale jinak | ||
| + | Bobo = Create(TOwnerEntity, | ||
| + | W.NextElement = Bobo // a vložíme ho do WORK aby se stal součásti modelu | ||
| + | W.Karel.Name = ' | ||
| + | i = {W.Count * 2} // do i přijde dvojnásobná hodnota počtu elementů WORK, tedy 4 | ||
| + | S = cat(" Dvojnásobný počet elementů ve WORK je ", i) | ||
| + | // v S je text Dvojnásobný počet elementů ve WORK je 4 | ||
| + | </ | ||
| Řádek 42: | Řádek 62: | ||
| Je potřeba si uvědomit, že volaný skript nic neví o proměnných aktuálního OILu a ani aktuální OIL nevidí proměnné volaného skriptu, takže je-li potřeba předat nějaké parametry, musí se to udělat jinou cestou. | Je potřeba si uvědomit, že volaný skript nic neví o proměnných aktuálního OILu a ani aktuální OIL nevidí proměnné volaného skriptu, takže je-li potřeba předat nějaké parametry, musí se to udělat jinou cestou. | ||
| === Vložení skriptu do aktuálního === | === Vložení skriptu do aktuálního === | ||
| - | Funkce **INCLUDE** umožňuje vložit jeden skript do jiného a tím i používat | + | Funkce **INCLUDE** umožňuje vložit jeden skript do jiného a připravit si například |
| Syntaxe je \\ | Syntaxe je \\ | ||
| '' | '' | ||
| Řádek 65: | Řádek 85: | ||
| ==== Definice ==== | ==== Definice ==== | ||
| Proměnné je možné definovat kdekoliv v kódu, každopádně před jejím prvním použitím. Jejich název by neměl obsahovat mezery a doporučoval bych i šetřit s diakritikou a použitím jiných záhadných znaků. Existuje jen jedna vyjímka při které se proměnná, neexistuje-li, | Proměnné je možné definovat kdekoliv v kódu, každopádně před jejím prvním použitím. Jejich název by neměl obsahovat mezery a doporučoval bych i šetřit s diakritikou a použitím jiných záhadných znaků. Existuje jen jedna vyjímka při které se proměnná, neexistuje-li, | ||
| - | Definice proměnné se provádí následujícím zápisem: | + | Definice proměnné se provádí následujícím zápisem: |
| <code oil> | <code oil> | ||
| Řádek 120: | Řádek 140: | ||
| Výrazy slouží k aritmetickým nebo porovnávacím operacím nad hodnotami představovanými objekty (elementy), jejich vlastnostmi nebo obecně proměnnými. Nepoužívají se striktně jenom ve skriptech, ale i mimo ně (např funkce hledání výrazem v LEDu). | Výrazy slouží k aritmetickým nebo porovnávacím operacím nad hodnotami představovanými objekty (elementy), jejich vlastnostmi nebo obecně proměnnými. Nepoužívají se striktně jenom ve skriptech, ale i mimo ně (např funkce hledání výrazem v LEDu). | ||
| ==== Syntaxe výrazu ==== | ==== Syntaxe výrazu ==== | ||
| - | Výraz v rámci OILu je uzavřen složenými závorkami... '' | + | Výraz v rámci OILu je uzavřen složenými závorkami... '' |
| Výraz, stejně jako zbytek OILu není case senzitivní, | Výraz, stejně jako zbytek OILu není case senzitivní, | ||
| Další syntaktická pravidla jsou ale mnohem přísnější: | Další syntaktická pravidla jsou ale mnohem přísnější: | ||
| Řádek 164: | Řádek 184: | ||
| | <= | " | | <= | " | ||
| | <> | | <> | ||
| - | | AND | "a zároveň" | + | | AND | "a zároveň" |
| - | | OR | " | + | | OR | " |
| | NOT | logický zápor ...převrací logickou hodnotu výrazu za sebou True - false |boolean | | NOT | logický zápor ...převrací logickou hodnotu výrazu za sebou True - false |boolean | ||
| | IS | objekt vlevo je potomkem třídy vpravo zapsané jako text: '' | | IS | objekt vlevo je potomkem třídy vpravo zapsané jako text: '' | ||
| Řádek 182: | Řádek 202: | ||
| | FRAC() | | FRAC() | ||
| | ODD() | Testuje, zda je argument liché číslo | | ODD() | Testuje, zda je argument liché číslo | ||
| - | | ABS() | Vrátí absolutní hodnotu parametru '' | + | | ABS() | Vrátí absolutní hodnotu parametru '' |
| | EXP(x) | | EXP(x) | ||
| | LN(x) | vrátí přirozený logaritmus x |float | | LN(x) | vrátí přirozený logaritmus x |float | ||
| Řádek 240: | Řádek 260: | ||
| ==== WHILE ==== | ==== WHILE ==== | ||
| - | Příkaz WHILE provádí cyklicky kód uzavřený slovem END, dokud platí vstupní podmínka daná výrazem | + | Příkaz |
| === Syntaxe === | === Syntaxe === | ||
| <code oil> | <code oil> | ||
| Řádek 258: | Řádek 278: | ||
| ==== REPEAT UNTIL ==== | ==== REPEAT UNTIL ==== | ||
| - | Příkaz REPEAT provádí cyklicky kód ukončený klíčovým slovem UNTIL, dokud neplatí podmínka daná výrazem za UNTIL. | + | Příkaz |
| === Syntaxe === | === Syntaxe === | ||
| <code oil> | <code oil> | ||
| Řádek 275: | Řádek 295: | ||
| </ | </ | ||
| ==== CONTINUE ==== | ==== CONTINUE ==== | ||
| - | Příkaz CONTINUE ukončí vykonávání stávajícího cyklu a přeskočí na další kolo. | + | Příkaz |
| <code oil> | <code oil> | ||
| for i = 1 to 5 // začínáme | for i = 1 to 5 // začínáme | ||
| Řádek 286: | Řádek 306: | ||
| ==== BREAK ==== | ==== BREAK ==== | ||
| - | Příkaz BREAK ukončí vykonávání | + | Příkaz |
| <code oil> | <code oil> | ||
| for i = 1 to 5 // začínáme | for i = 1 to 5 // začínáme | ||
| Řádek 298: | Řádek 318: | ||
| ==== IF THEN ELSE ==== | ==== IF THEN ELSE ==== | ||
| - | Příkaz IF umožňuje podmíněné provedení části kódu. Podmínku definuje logický výraz mezi klíčovými slovy IF a END. ELSE je nepovinné, případně odděluje část prováděnou při nesplnění podmínky. | + | Příkaz |
| === Syntaxe === | === Syntaxe === | ||
| <code oil> | <code oil> | ||
orbis/oil.1744711304.txt.gz · Poslední úprava: 2025/04/15 12:01 autor: ppk
