Deli putem


Imperativna logika

Belešku

Microsoft Power Fx je novo ime za jezik formula za aplikacije sa podlogom. Ovi članci su u izradi dok izdvajamo jezik iz aplikacija na platnu, integrišemo ga sa drugim Microsoft Power Platform proizvodima i činimo ga dostupnim u vidu otvorenog koda. Počnite sa Microsoft Power Fx pregledom za uvod u jezik.

Većina formula u usluzi Microsoft Power Fx izračunavaju vrednost. Poput Excel unakrsne tabele, ponovno izračunavanje se dešava automatski kako se vrednosti menjaju. Na primer, možda želite da prikažete vrednost u kontroli Oznaka crvenom bojom ako je vrednost manja od nule ili crnom ako je veća. Tako možete da postavite svojstvo Color te kontrole prema ovoj formuli:

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

U ovom kontekstu, šta znači kad korisnik izabere kontrolu Dugme? Nijedna vrednost nije promenjena, tako da nema šta novo da se izračuna. Excel nema ekvivalent kontroli Dugme.

Odabirom kontrole Dugme, korisnik pokreće niz radnji ili ponašanja koji će promeniti stanje aplikacije:

  • Promenite prikazan ekran: Funkcije Back.
  • Kontrolišite signal (samo Power Apps): funkcije Enable i Disable.
  • Osvežite, ažurirajte ili uklonite stavke u izvoru podataka: funkcije Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Ažurirajte promenljivu konteksta (samo Power Apps sa podlogom): funkcija UpdateContext.
  • Kreirajte, ažurirajte ili uklonite stavke u kolekciji: funkcije Collect, Clear, ClearCollect.

Budući da ove funkcije menjaju stanje aplikacije, ne mogu se automatski ponovo izračunati. Možete ih koristiti u formulama za OnSelect, OnVisible, OnHidden i druga On... svojstva koja se nazivaju formulama ponašanja.

Više od jedne radnje

Koristite tačku-zarez za kreiranje liste radnji koje treba izvesti. Na primer, možda bi trebalo da ažurirate promenljivu konteksta i da se zatim vratite na prethodni ekran:

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

Radnje se izvode redosledom kojim su prikazane u formuli. Sledeća funkcija se neće pokrenuti sve dok se trenutna funkcija ne završi. Ako dođe do greške, naredne funkcije se možda neće pokrenuti.