Imperatív logika

Feljegyzés

A Microsoft Power Fx a vászonalapú alkalmazások képletnyelvének új neve. Ezek a cikkek még nem véglegesek; miközben kinyerjük a vászonalapú alkalmazás nyelvét, integráljuk más Microsoft Power Platform-termékekkel, és nyílt forráskódúként elérhetővé tesszük. A nyelv megismeréséhez először olvassa el A Microsoft Power Fx áttekintése című cikket.

A legtöbb képlet a Microsoft Power Fx-ben egy értéket számít ki. Az Excel-számolótáblákhoz hasonlóan az újraszámítás itt is automatikusan megtörténik, ahogy az értékek módosulnak. Előfordulhat például, hogy pirossal szeretne megjeleníteni egy értéket egy Címke vezérlőelemen, ha az érték nullánál kisebb, és feketével egyébként. Tehát beállíthatja a Szín tulajdonságot a következő képletre:

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

Mit jelent ebben az esetben, ha a felhasználó egy Gomb vezérlőelemre kattint? Egy érték sem módosult, szóval nincs semmi új, amit ki kellene számítani. Az Excelben nincs megfelelője a Gomb vezérlőelemeknek.

Egy Gomb vezérlőelemre kattintva a felhasználó olyan műveletsorozatot vagy viselkedéseket kezdeményezhet, amelyek módosítják az alkalmazás állapotát:

  • A megjelenített képernyő módosítása: Vissza függvények.
  • Jelek szabályozása:(csak Power Apps): függvények Engedélyezése és Letiltása.
  • Adatforrás elemeinek frissítése, módosítása vagy eltávolítása: Frissítés, Frissít, UpdateIf, Javítás, Eltávolítás, RemoveIf függvények.
  • Egy környezeti változó módosítása (csak Power Apps vászon): UpdateContext függvény.
  • Gyűjtemények elemeinek létrehozása, módosítása és eltávolítása: Collect, Clear és ClearCollect függvény.

Mivel ezekkel a függvényekkel módosítható az alkalmazás állapota, ezeket nem lehet automatikusan újraszámítani. Használhatja őket az OnSelect, az OnVisible, az OnHidden, illetve más On... kezdetű tulajdonságok képleteiben, melyek az úgynevezett műveleti képletek.

Egynél több művelet

Pontosvesszőkkel létrehozhatja a végrehajtandó műveletek listáját. Lehetséges például, hogy szeretne módosítani egy környezeti változót, majd pedig visszatérni az előző képernyőre:

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

A rendszer abban a sorrendben hajtja végre a műveleteket, melyben megjelennek a képletben. A következő függvény nem indul el, amíg be nem fejeződik az aktuális függvény. Ha hiba történik, előfordulhat, hogy a további függvények nem indulnak el.