Logica imperativa

Nota

Microsoft Power Fx è il nuovo nome per il linguaggio delle formule per le app canvas. Questi articoli sono in fase di elaborazione poiché estraiamo il linguaggio dalle app canvas, lo integriamo con altri prodotti di Microsoft Power Platform e lo rendiamo disponibile come open source. Inizia con la panoramica di Microsoft Power Fx per un'introduzione al linguaggio.

La maggior parte delle formule in Microsoft Power Fx calcola un valore. Analogamente a un foglio di calcolo di Excel, il ricalcolo viene eseguito automaticamente ogni volta che vengono modificati i valori. Ad esempio, potresti voler mostrare il valore di un controllo Label in rosso se il valore è inferiore a zero o in nero negli altri casi. Puoi quindi impostare la proprietà Colore del controllo su questa formula:

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

In questo contesto, la selezione del controllo Button da parte dell'utente indica che nessun valore è stato modificato e quindi non sono presenti nuovi elementi da calcolare. Excel non include alcun equivalente al controllo Button.

Selezionando un comando Pulsante, l'utente avvia una sequenza di azioni o comportamenti che modificheranno lo stato dell'app:

  • Modifica la schermata visualizzata tramite le funzioni Indietro.
  • Controllare un segnale (solo Power Apps): funzioni Abilita e Disabilita.
  • Aggiorna o rimuovi gli elementi in un'origine dati: funzioni Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Aggiorna una variabile di contesto (solo canvas Power Apps): funzione UpdateContext.
  • Crea, aggiorna o rimuovi elementi in una raccolta: funzioni Collect, Clear, ClearCollect.

Poiché queste funzioni modificano lo stato dell'app, non possono essere ricalcolate automaticamente. Puoi usarle nelle formule per le proprietà OnSelect, OnVisible, OnHidden e altre proprietà On... definite formule relative al comportamento.

Più azioni

Usa il punto e virgola per creare un elenco di azioni da eseguire. Potresti ad esempio voler aggiornare una variabile del contesto e quindi tornare alla schermata precedente:

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

Le azioni vengono eseguite nell'ordine in cui sono visualizzate nella formula. La funzione successiva verrà avviata solo dopo il completamento della funzione corrente. Se si verifica un errore, le funzioni successive non possono essere avviate.