У цьому підручнику ми збираємося дізнатися про змінні PowerApps і їхній внесок у нашу програму.
Змінна – це будь-який елемент, який можна порахувати або виміряти.
Змінні PowerApps бувають трьох форм — контекстні змінні, глобальні змінні та колекції . У цьому підручнику ми обговоримо контекстні змінні та глобальні змінні.
Зміст
Як працюють змінні PowerApps
Перш ніж обговорювати різні типи, давайте спочатку подивимося, як змінні працюють у Power Apps. Для цього нам знадобиться новий екран.
Якщо ви бачили наші попередні підручники про, ви знатимете, що найкраще мати головний екран, який встановлює макет для всієї програми. Таким чином, немає потреби продовжувати починати з нуля кожного разу, коли нам потрібно додати екран.
Отже, давайте створимо новий екран, скопіювавши головний екран.
Оскільки ми будемо грати зі змінними на цьому екрані, давайте перейменуємо його на VariablePlay.
Тепер, коли у нас є екран для нашої змінної, давайте додамо введення тексту. Ми виберемо це зі спадного меню для введення під стрічкою «Вставити».
Як і всі інші елементи, це текстове поле можна перетягувати будь-де на екрані.
Нам знадобиться інше введення тексту, тому ми можемо просто скопіювати та вставити наявний.
Потім додамо мітку, натиснувши кнопку «Мітка» під стрічкою «Вставити». Розмістимо це під двома текстовими полями.
Почнемо з чогось простого. Припустімо, ми хочемо, щоб користувачі використовували два текстові поля для введення чисел, тоді ми хочемо, щоб сума відображалася на ярлику.
Отже, давайте мітку переходу та введемо те, що ми хочемо зробити, у рядку формул: «Сума перших двох чисел дорівнює:», а потім посилаємося на елементи, які ми хочемо додати, TextInput2 і TextInput3.
Прямо зараз етикетка повідомляє нам, що сума дорівнює нулю.
Але якщо ми введемо 25 у першому полі та 30 у другому, мітка тепер покаже, що сума дорівнює 55.
Цей приклад ілюструє, наскільки PowerApps відрізняється від інших мов програмування. В інших мовах змінній буде присвоєно 25, а іншій змінній – 30. Вихід, що виходить із мітки, буде просто сумою цих двох змінних.
Проте PowerApps використовує статичну мову. Це схоже на Excel, де ви можете безпосередньо посилатися на властивості та тригери елементів без потреби в окремих змінних.
Ось чому у 9 із 10 випадків вам не потрібні змінні в PowerApps. Єдиний раз, коли вам знадобляться змінні, це коли ви не можете вибрати правильні властивості певного текстового поля або коли ви хочете мати складніші процеси у своїй програмі.
Контекстні змінні PowerApps
Контекстні змінні активні лише на певному екрані. Якщо ви переходите на інші екрани, ви більше не матимете доступу до цієї змінної, і всі зміни, які ви раніше внесли до неї, скидаються.
Щоб побачити, як це працює, давайте додамо кнопки біля кожного текстового поля.
Ці кнопки дозволяють нам створювати контекстну змінну кожного разу, коли ми натискаємо на них. Ми можемо додати цю дію за допомогою властивості OnSelect. Ми будемо використовувати функцію під назвою UpdateContext.
UpdateContext в основному приймає аргумент, який відповідає змінній.
У цьому випадку давайте викличемо першу змінну FirstNumber і поставимо після неї двокрапку. Ми хочемо, щоб ця змінна була еквівалентною TextInput2.Text.
Далі скопіюймо цю формулу, перейдіть до другої кнопки, перейдіть до OnSelect і вставте формулу. Потім ми змінимо назву змінної на SecondNumber і зробимо посилання на TextInput3.
Тепер давайте створимо іншу мітку. Знову ж таки, ми змінимо текст на «Сума перших двох чисел дорівнює:» і замість фактичного посилання на властивість ми будемо посилатися на змінні. Отже, давайте поставимо амперсанд, а потім поставимо Перше число + друге число.
Знову ж таки, ці контекстуальні змінні встановлюються лише фактичним натисканням кнопки. Дивлячись на наш приклад, ви побачите, що якщо я зміню перше число на 50, перша мітка внизу автоматично зміниться без необхідності натискати будь-яку кнопку. Це тому, що він приймає фактичне число, введене в текстове поле.
Але якщо ми хочемо, щоб друга мітка також була оновлена, нам доведеться спочатку натиснути кнопки, щоб встановити змінну. Отже, якщо ми натиснемо першу кнопку, сума виявиться лише 50, оскільки встановлено лише першу змінну.
Коли ми натискаємо другу кнопку, це єдиний раз, коли сума на другій мітці показує 80.
Тепер давайте спробуємо щось інше. Давайте додамо ще одну мітку та назвемо її Лічильник.
Давайте також створимо ще одну кнопку та розмістимо її поруч із міткою лічильника. Для OnSelect цієї кнопки давайте створимо змінну за допомогою UpdateContext і викличемо змінну Counter. Тоді давайте встановимо для цієї змінної значення Лічильник + 1.
По суті, ми тут беремо будь-який лічильник, який був раніше, а потім додаємо до нього один.
Повертаючись до етикетки, давайте посилатимемося на лічильник.
Якщо ми натиснемо кнопку, вона почнеться з 1.
Коли ви клацнете його ще раз, 1 буде автоматично додано до попереднього значення. Ось чому зараз показує 2.
Число тут стає все більше і більше, коли ми натискаємо кнопку, а лічильник показує на 1 більше, ніж попереднє число.
Глобальні змінні PowerApps
Глобальна змінна дозволяє встановити змінну на одному екрані та отримати до неї доступ з інших. Давайте почнемо з нового екрана, щоб побачити, як це робиться. Ми назвемо це VariablePlayTwo.
Давайте додамо мітку до цього екрана, яка посилається на змінну Counter з іншого екрана. Як ви бачите, це залишає помилку на етикетці.
Причина, чому ми отримуємо тут помилку, полягає в тому, що він не розпізнає лічильник. Пам’ятайте, що ми створили лічильник як контекстну змінну, тому він залишається лише на своєму екрані.
Отже, давайте повернемося до екрана VariablePlay і перетворимо кнопку, що містить Counter, на глобальну змінну.
Для початку нам потрібно використати функцію set, яку ми назвемо CounterGlobal. Функція Set приймає змінну та значення, тому ми використаємо CounterGlobal + 1.
Створюючи глобальні змінні, слід пам’ятати дві речі. По-перше, глобальні змінні використовують коми замість двокрапки.
По-друге, він вимагає лише дужок, а не фігурних дужок навколо аргументу.
Щойно ми внесемо ці зміни до кнопки, ви побачите, що мітка відображає помилку. Це тому, що він все ще посилається на лічильник, який система більше не розпізнає.
Тому все, що нам тут потрібно зробити, це також змінити це на CounterGlobal.
Тепер давайте повернемося до VariablePlayTwo і звернемося до CounterGlobal. Як бачите, помилка більше не відображається.
Давайте перевіримо нашу глобальну змінну, щоб побачити, чи вона працює. Повертаючись до VariablePlay, де встановлено початкову змінну, давайте продовжуватимемо натискати кнопку, доки для неї не буде встановлено значення 22.
Тепер перейдемо до VariablePlayTwo. Як бачите, мітка тут також змінилася і тепер показує 22.
Висновок
Тепер, коли ви побачили, що контекстуальні та глобальні змінні можуть зробити для нашого додатка, має бути простіше зрозуміти, чи потрібні вони вам у додатку, над яким ви працюєте, чи ні.
Контекстні змінні можуть бути корисними, лише якщо вам потрібні додаткові або складніші функції на будь-якому з ваших екранів. Однак глобальні змінні є дійсно ефективним способом надання інформації з одного екрана на інший.
Знову ж таки, змінні найчастіше не потрібні, але добре знати, що у вашому наборі інструментів є щось подібне, коли в цьому виникає потреба.
Все найкраще,
Генрі