Поділитися через


Імперативна логіка

Нотатка

Microsoft Power Fx — це нове назва мови формул компонованих програм. Робота над цим циклом статей триває, оскільки ми поступово виокремлюємо згадану мову з компонованих програм, інтегруємо її з іншими продуктами Microsoft Power Platform і робимо відповідний код відкритим. Почніть знайомство з мовою формул з Огляду Microsoft Power Fx.

Більшість формул у Microsoft Power Fx обчислюють значення. Як і в електронних таблицях Excel, при зміні значень автоматично відбувається переобчислення. Наприклад, може знадобитися відобразити значення у елементі керування Надпис червоним кольором, якщо значення менше за нуль, а чорним — в усіх інших випадках. Для цього ви можете задати значення властивості Color цього елемента керування, як зазначену нижче формулу.

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

У цьому контексті, що відбуватиметься, коли користувач вибере елемент керування Кнопка? Жодні значення не змінилися, тож нові дані для обчислень відсутні. Програма Excel не має аналогу елемента керування Кнопка.

Вибираючи елемент керування Кнопка, користувач ініціює послідовність дій, або поведінку, що змінить стан програми.

  • Змініть відображуваний екран: функції Back.
  • Керування сигналом (Power Apps лише): функції Enable та Disable.
  • Оновлюйте, змінюйте або видаляйте елементи у джерелі даних: функції Refresh, Update, UpdateIf, Patch, Remove, RemoveIf.
  • Оновіть контекстну змінну (лише полотно Power Apps): функція UpdateContext.
  • Створіть, оновіть або видаліть елементи у колекції: функції Collect, Clear, ClearCollect.

Оскільки ці функції змінюють стан програми, їх не можна автоматично переобчислювати. Їх можна використовувати у формулах для властивостей OnSelect, OnVisible, OnHidden і On..., які називаються формулами поведінки.

Кілька дій

Створюйте список дій, які слід виконати, використовуючи крапку з комою. Наприклад, вам може знадобитися оновити змінну контексту, а потім повернутися на попередній екран.

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

Дії виконуються в тому порядку, в якому їх вказано у формулі. Наступна функція не запускається, доки не буде завершена робота поточної функції. Якщо виникає помилка, подальші функції можуть не бути запущені.