# selector

### Funkce:

Selector umožňuje libovolný počet větvení programu, která se mu do jeho struktury zadávají v podobě jména a logického výrazu, který vyjadřuje podmínku.

### Syntax:

      selector selector_name;
        rem = string;
        timer = timer_name;
        case
          case_name = boolean_expression;
        { case_name = boolean_expression; }
        end;
      end_selector;

Při splnění podmínky se zavolají všechny přístroje mající v položce timer uveden název selectoru a jméno této konkrétní podmínky:

      timer = selector_name.case_name;

### Poznámky:

- Všechny časovače mohou být ovládány dalšími časovači. Tato vlastnost vzájemného vnořování a závislostí zaručuje nekonečné množství kombinací a variant vytvořených algoritmů, pouze pomocí tří základních logických struktur.
- Používání více přístrojů selector se stejným časovým krokem je velice neefektivní. V takovém případě doporučujeme všechny takto časované přístroje sdružit do jediného přístroje typu selector s více podmínkami.

### Příklad:

Příklad deklarace:

      selector výběr;
        timer = 5;
        case
          první_podmínka =( a>b );
          druhá_podmínka =( b>a );
          třetí_podmínka =( a=b );
        end_case;
      end_selector;

Příklad použití:

      meter id_2;
        timer = výběr.první_podmínka;
        ...
      end_meter;

### Nativní procedury přístroje

Přístroj nemá žádné nativní procedury.

### Událostní procedury přístroje

Přístroj může volat standardní událostní procedury:

    OnActivate()

Podrobnější informace k těmto procedurám lze nalézt v kapitole Programování a procedury.