Comparteix a través de


Lògica imperativa

Nota

Microsoft Power Fx és el nom nou del llenguatge de formules de les aplicacions de llenç. Aquests articles són un treball en curs a mesura que extraiem el llenguatge de les aplicacions de llenç, l'integrem amb altres productes del Microsoft Power Platform i fem que estigui disponible com a codi obert. Comenceu amb la Informació general del Microsoft Power Fxper veure una introducció al llenguatge.

La majoria de fórmules del Microsoft Power Fx calculen un valor. Com un full de càlcul de l'Excel, el nou càlcul es produeix automàticament a mesura que canvien els valors. Per exemple, pot ser que us interessi mostrar el valor d'un control d'Etiqueta en vermell si el valor és inferior a zero o en negre altrament. Podeu definir la propietat Color d'aquest control en aquesta fórmula:

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

En aquest context, què vol dir quan l'usuari selecciona un control de Botó? No s'ha canviat cap valor, de manera que no hi ha res nou per calcular. L'Excel no té cap equivalent a un control de Botó.

Quan seleccioneu un control de Botó, l'usuari inicia una seqüència d'accions o comportaments que canviaran l'estat de l'aplicació:

  • Canvieu la pantalla que es visualitza: funcions Enrere.
  • Controlar un senyal (només Power Apps): habiliteu i inhabiliteu funcions.
  • Actualitzeu o suprimiu elements d'una font de dades: funcions Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Actualitzeu una variable de context (només llenç del Power Apps): funció UpdateContext.
  • Crear, actualitzar o suprimir elements d'una col·lecció: funcions Collect, Clear, ClearCollect.

Com que aquestes funcions canvien l'estat de l'aplicació, no es poden tornar a calcular automàticament. Podeu utilitzar-les a les fórmules per a les propietats OnSelect, OnVisible, OnHidden i altres On..., que s'anomenen fórmules de comportament.

Més d'una acció

Utilitzeu punts i comes per crear una llista d'accions que voleu dur a terme. Per exemple, pot ser que us interessi actualitzar una variable de context i, a continuació, tornar a la pantalla anterior:

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

Les accions es realitzen en l'ordre en què apareixen a la fórmula. La funció següent no començarà fins que s'hagi completat la funció actual. Si es produeix un error, pot ser que les funcions posteriors no comencin.