Zdieľať cez


Imperatívna logika

Poznámka

Microsoft Power Fx je nový názov jazyka vzorcov pre aplikácie plátna. Tieto články sú rozpracované, pretože jazyk extrahujeme z aplikácií plátna a integrujeme ho s ostatnými produktmi Microsoft Power Platform, aby sme ho sprístupnili ako open source. Začnite s prehľadom Microsoft Power Fx ako úvod do jazyka.

Väčšina vzorcov v Microsoft Power Fx vypočíta hodnotu. V tabuľke programu Excel prebieha prepočítanie automaticky pri zmene hodnoty. Napríklad budete chcieť zobraziť hodnotu v ovládacom prvku Označenie červenou, ak bude menšia ako nula, a v ostatných prípadoch čiernou. Takže môžete nastaviť vlastnosť Farba na tento vzorec:

If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )

Čo v tomto kontexte znamená, keď používateľ vyberie ovládací prvok Tlačidlo? Nezmenila sa žiadna hodnota, takže nič nové sa nemusí vypočítať. Program Excel nemá žiadny ekvivalent k ovládaciemu prvku Tlačidlo.

Výberom ovládacieho prvku Tlačidlo používateľ spustí postupnosť akcií, resp. správaní, ktorá zmenia stav aplikácie:

  • Zmena zobrazovanej obrazovky: Funkcie Späť.
  • Riadenie signálu (len Power Apps): funkcie Povoliť a Zakázať.
  • Obnovenie, aktualizácia alebo odobratie položiek v zdroji údajov: funkcie Obnoviť, Aktualizovať, UpdateIf, Opraviť, Odstrániť a RemoveIf.
  • Aktualizácia kontextovej premennej (len plátno Power Apps): funkcia UpdateContext.
  • Vytvorenie, aktualizácia alebo odobratie položiek v kolekcii: funkcie Zhromaždiť, Odstrániť a ClearCollect.

Tieto funkcie nemožno automaticky prepočítať, pretože zmenia stav aplikácie. Môžete ich použiť vo vzorcoch pre vlastnosti OnSelect, OnVisible, OnHidden a iné vlastnosti Pri..., ktoré sa nazývajú vzorce správania.

Viac ako jedna akcia

Pre vytvorenie zoznamu akcií, ktorá sa majú vykonať, použite bodkočiarky. Môžete napríklad chcieť aktualizovať kontextovú premennú a potom sa vrátiť na prechádzajúcu obrazovku:

UpdateContext( { x: 1 } ); Back()

Akcie sa vykonávajú v poradí, v ktorom sa nachádzajú vo vzorci. Ďalšia funkcia sa spustí až po vykonaní aktuálnej funkcie. Ak nastane chyba, nasledujúca funkcia sa nemusí spustiť.