Imperativ logikk
Merk
Microsoft Power Fx er det nye navnet på formelspråket for lerretsapper. Disse artiklene er arbeid som pågår når vi trekker ut språket fra lerretsapper, integrerer det med andre Microsoft Power Platform-produkter og gjør det tilgjengelig som åpen kildekode. Begynn med Microsoft Power Fx-oversikt for å få en innføring i språket.
De fleste formler i Microsoft Power Fx beregner en verdi. Omberegning skjer automatisk når verdiene endres, akkurat som i et Excel-regneark. Du kan for eksempel vise en verdi i en Label-kontroll i rødt hvis verdien er mindre enn null. Hvis ikke, er den svart. Så du kan angi f.eks. angi Color-egenskapen for kontrollen til denne formelen:
If( Value(TextBox1.Text) >= 0, Color.Black, Color.Red )
Hva betyr det når brukeren velger en Button-kontroll i denne sammenhengen? Ingen verdi er endret, så det er ikke noe nytt å beregne. Excel har ingenting som tilsvarer en Button-kontroll.
Ved å velge en Button-kontroll starter brukeren en sekvens med handlinger eller virkemåter, som vil endre tilstanden til appen:
- Endre skjermbildet som vises: Funksjonene Back.
- Kontroller et signal: (bare Power Apps): Enable og Disable.
- Oppdater, oppdater eller fjern elementer i en datakilde: Funksjonene Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
- Oppdater en kontekstvariabel (bare Power Apps-lerret): UpdateContext-funksjonen.
- Opprett, oppdater eller fjern elementer i en samling: Collect, Clear, ClearCollect-funksjonene.
Fordi disse funksjonene endrer tilstanden til appen kan de ikke automatisk omberegnes. Du kan bruke dem i formlene for egenskapene OnSelect, OnVisible, OnHidden og andre On...-egenskaper, som kalles virkemåteformler.
Mer enn én handling
Bruk semikolon til å opprette en liste over handlinger som skal utføres. Du kan for eksempel oppdatere en kontekstvariabel, og deretter gå tilbake til forrige skjermbilde:
UpdateContext( { x: 1 } ); Back()
Handlinger utføres i rekkefølgen de vises i formelen. Den neste funksjonen starter ikke før den gjeldende funksjonen er fullført. Hvis det oppstår en feil, kan kanskje ikke etterfølgende funksjoner starte.