Partajați prin


Logica imperativă

Notă

Microsoft Power Fx este noul nume pentru limbajul formulă al aplicațiilor pânză. Aceste articole sunt lucrare în curs de desfășurare, deoarece extragem limba din aplicațiile pânză, o integrăm cu alte produse Microsoft Power Platform și le punem la dispoziție ca open source. Începeți cu Prezentarea generală Microsoft Power Fx pentru o introducere în limbă.

Cele mai multe formule din Microsoft Power Fx calculează o valoare. Ca și o foaie de calcul Excel, recalcularea are loc automat odată cu modificarea valorilor. De exemplu, ați putea dori să afișați valoarea într-un control Label în roșu dacă valoarea este mai mică decât zero sau în negru, în caz contrar. Astfel încât puteți seta proprietatea Culoare acelui control la această formulă:

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

În acest context, ce înseamnă când utilizatorul selectează un control Button? Nu s-a schimbat nicio valoare, deci nu este nimic nou de calculat. Excel nu are echivalent pentru un control Button.

Selectând un control Button, utilizatorul inițiază o secvență de acțiuni sau comportamente, care vor schimba starea aplicației:

  • Schimbați ecranul afișat: funcții Back.
  • Controlează un semnal (numai Power Apps): funcții Enable și Disable.
  • Reîmprospătați, actualizați sau eliminați elementele dintr-o sursă de date: funcțiile Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Actualizați o variabilă de context (Power Apps numai pânză): funcția UpdateContext.
  • Creați, actualizați sau eliminați elemente într-o colecție: funcții Collect, Clear, ClearCollect.

Deoarece aceste funcții schimbă starea aplicației, ele nu pot fi recalculate automat. Le puteți utiliza în formule pentru OnSelect, OnVisible, OnHidden și alte proprietăți On..., care se numesc formule comportamentale.

Mai multe acțiuni

Folosiți punct și virgulă pentru a crea o listă de acțiuni de efectuat. De exemplu, poate doriți să actualizați o variabilă de context și apoi să reveniți la ecranul anterior:

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

Acțiunile sunt efectuate în ordinea în care apar în formulă. Următoarea funcție nu va începe până când funcția curentă nu se va finaliza. Dacă apare o eroare, funcțiile ulterioare ar putea să nu pornească.