Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga
Microsoft Power Fx to nowa nazwa języka formuł dla aplikacji kanw. Te artykuły działają w toku, ponieważ Microsoft wyodrębnia język z aplikacji kanwy, integruje go z innymi produktami Microsoft Power Platform i udostępnia je jako open source. Wprowadzenie do języka można rozpocząć od omówienie funkcji Microsoft Power Fx.
Dowiedz się, jak zmienne Power Fx różnią się od zmiennych w narzędziach, takich jak Visual Basic lub JavaScript, i kiedy formuły są lepszym wyborem. W tym artykule wyjaśniono, jak wybrać zmienne globalne, zmienne kontekstowe lub kolekcje w celu zarządzania wartościami i stanem aplikacji.
W innych narzędziach można jawnie wykonać obliczenia i zapisać wynik w zmiennej. Niemniej usługa Power Fx i program Excel automatycznie ponownie obliczają formuły w przypadku zmiany danych wejściowych, więc zazwyczaj nie zachodzi potrzeba tworzenia i aktualizowania zmiennych. Dzięki zastosowaniu takiego podejścia w miarę możliwości można łatwiej utworzyć, zrozumieć i konserwować aplikację.
W niektórych przypadkach należy użyć zmiennych w programie Power Fx. Usługa Power Fx rozszerza model Excel przez dodanie formuł zachowania. Formuły te mogą być uruchamiane przykładowo wtedy, gdy użytkownik wybierze przycisk. W formule zachowania często warto ustawić zmienną do użycia w innych formułach.
Ogólnie rzecz biorąc, należy unikać używania zmiennych. Czasami jednak tylko zmienna może zapewnić żądane rezultaty. Zmienne są tworzone niejawnie i wpisywane w funkcjach, które ustawiają ich wartości.
Tłumaczenie programu Excel na usługę Power Fx
Excel
Przypomnijmy, jak działa program Excel. Komórka może zawierać wartość, np. liczbę lub ciąg, bądź formułę opartą na wartościach innych komórek. Gdy użytkownik wprowadzi inną wartość w komórce, program Excel automatycznie ponownie obliczy wszelkie formuły, które zależą od nowej wartości. Aby włączyć to zachowanie, nie jest wymagane żadne programowanie.
W poniższym przykładzie komórka A3 ma ustawioną formułę A1+A2. Jeśli wartość A1 lub A2 zmieni się, wartość komórki A3 zostanie automatycznie obliczona ponownie w celu odzwierciedlenia zmiany. To zachowanie nie wymaga pisania kodu poza formułą.
Program Excel nie ma zmiennych. Wartość komórki, która zawiera formułę, zmienia się w oparciu o wprowadzone dane, ale nie ma sposobu na zapamiętanie wyników formuły i zapisanie ich w komórce lub innym miejscu. Jeśli zmienisz wartość komórki, cały arkusz kalkulacyjny może ulec zmianie, a wszystkie wcześniej obliczone wartości zostaną utracone. Użytkownik programu Excel może kopiować i wklejać komórki, niemniej jednak takie działanie podlega ręcznej kontroli ze strony użytkownika i nie jest możliwe do zrealizowania za pomocą formuł.
Power Fx
Logika w Power Fx zachowuje się bardzo podobnie do tej z programu Excel. Zamiast aktualizowania komórek można dodać kontrolki w dowolnym miejscu na ekranie i nazwać je w celu późniejszego użycia w formułach.
Na przykład można replikować zachowanie programu Excel w aplikacji Power Apps poprzez dodanie kontrolki Etykieta o nazwie Label1 oraz dwóch kontrolek Wprowadzanie tekstu o nazwach TextInput1 i TextInput2. Jeśli następnie ustawisz właściwość Textetykiety Label1 na TextInput1.Text + TextInput2.Text, zawsze wyświetla sumę liczb w polach TextInput1 i TextInput2 automatycznie.
Zwróć uwagę, że została wybrana kontrolka Label1 i na pasku formuły u góry ekranu jest wyświetlana jej formuła dla właściwości Text. Tutaj znajdziesz formułę TextInput1.Text + TextInput2.Text. Ta formuła tworzy zależność między tymi kontrolkami, tak jak w przypadku zależności tworzonych między komórkami w skoroszycie programu Excel. Zmieńmy wartość pola TextInput1:
Formuła etykiety Label1 jest automatycznie ponownie obliczana, pokazując nową wartość.
W usłudze Power Fx można używać formuł do określania wartości podstawowej kontrolki, a także jej właściwości, np. formatowania. W następnym przykładzie formuła właściwości Color etykiety automatycznie wyświetla wartości ujemne na czerwono. Funkcja If powinna wyglądać podobnie do funkcji programu Excel:
If( Value(Label1.Text) < 0, Color.Red, Color.Black )
Formuły mają szerokie zastosowanie w wielu różnych scenariuszach:
- Używając funkcji GPS w urządzeniu, kontrolka mapy może wyświetlić bieżącą lokalizację oraz formułę z właściwościami Location.Latitude i Location.Longitude. Gdy się przemieszczasz, mapa automatycznie śledzi Twoją lokalizację.
- Inni użytkownicy mogą aktualizować źródła danych. Na przykład inni członkowie zespołu mogą aktualizować elementy na liście SharePoint. Podczas odświeżania źródła danych wszystkie zależne formuły są automatycznie ponownie obliczane w celu odzwierciedlenia zaktualizowanych danych. W dalszej części przykładu można ustawić właściwość Items galerii na formułę Filter( SharePointList ), która automatycznie wyświetla nowo filtrowany zestaw rekordów.
Zalety formuł Power Fx
Tworzenie aplikacji przy użyciu formuł oferuje wiele zalet:
- Jeśli znasz program Excel, znasz też usługę Power Fx. Model i język formuł są takie same.
- Jeśli używasz innych narzędzi programistycznych, zastanów się, ile kodu należy wykonać w tych przykładach. W języku Visual Basic wymagane byłoby napisanie procedury obsługi zdarzeń dla zdarzenia zmiany w każdej kontrolce wprowadzania tekstu. Kod do wykonania obliczeń w każdym z tych programów obsługi zdarzeń jest nadmiarowy i może wyjść z synchronizacji lub trzeba będzie napisać wspólną podroutywę. W programie Power Fx wykonasz całą pracę z jedną jednowierszową formułą.
- Aby dowiedzieć się, skąd pochodzi tekst etykiety Label1, wiesz dokładnie, gdzie szukać: formuła we właściwości Text . Nie istnieje inny sposób wpływania na tekst tej kontrolki. W tradycyjnych narzędziach do programowania dowolna procedura obsługi zdarzeń lub procedura podrzędna mogły zmienić wartość etykiety z dowolnego miejsca w programie. Takie podejście może utrudnić śledzenie, kiedy i gdzie zmienna została zmieniona.
- Jeśli użytkownik zmieni ustawienie kontrolki suwaka, a następnie zmieni zdanie, może cofnąć suwak do oryginalnej wartości. To tak, jakby nic się nie zmieniło: aplikacja wyświetla te same wartości kontrolek, co wcześniej. Nie trzeba testować żadnych ewentualności ani zastanawiać się „a co, jeśli...?”, tak jak nie trzeba tego robić w przypadku programu Excel.
Ogólnie rzecz biorąc, jeśli możesz osiągnąć efekt przy użyciu formuły, lepiej jest. Pozwól, żeby to aparat formuły w usłudze Power Fx zajął się pracą.
Kiedy używać zmiennych
Zmieńmy nasz prosty moduł dodający, aby działał jak stara maszyna do dodawania z sumą bieżącą. Jeśli wybierzesz przycisk Dodaj , dodasz liczbę do sumy bieżącej. Jeśli wybierzesz przycisk Wyczyść , zresetujesz sumę bieżącą na zero.
| Wyświetlanie | Opis |
|---|---|
|
Po uruchomieniu aplikacji suma bieżąca wynosi 0. Czerwona kropka reprezentuje palec użytkownika w polu wprowadzania tekstu, w którym użytkownik wpisuje numer 77. |
|
Użytkownik wybiera przycisk Dodaj. |
|
Liczba 77 jest dodawana do sumy bieżącej. Użytkownik ponownie wybiera przycisk Dodaj. |
|
Liczba 77 jest ponownie dodawana do sumy bieżącej, a wynik wynosi 154. Użytkownik wybiera przycisk Wyczyść. |
|
Suma bieżąca jest resetowana do wartości 0. |
Nasza maszyna do dodawania używa czegoś, co nie istnieje w programie Excel: przycisku. W tej aplikacji nie można używać wyłącznie formuł do obliczania sumy bieżącej, ponieważ jej wartość zależy od szeregu akcji podejmowanych przez użytkownika. Zamiast tego należy ręcznie rejestrować i aktualizować sumę bieżącą. Większość narzędzi do programowania przechowuje te informacje w zmiennej.
Czasami zachodzi potrzeba, aby zmienna aplikacji zachowywała się w konkretny sposób. Niemniej istnieją pewne zastrzeżenia do takiego podejścia:
- Trzeba ręcznie aktualizować sumę bieżącą. Automatyczne ponowne obliczenie nie zrobi tego za Ciebie.
- Nie można obliczyć sumy bieżącej na podstawie wartości innych kontrolek. Zależy to od tego, jak wiele razy użytkownik wybrał przycisk dodawania oraz od wartości, jaka znajdowała się w kontrolce wprowadzania tekstu za każdym razem. Czy użytkownik dwukrotnie wprowadził liczbę 77 i wybrał przycisk dodawania, czy podał liczby 24 i 130 dla każdego dodawania? Nie można dostrzec różnicy po osiągnięciu sumy 154.
- Zmiany w sumie mogą pochodzić z różnych ścieżek. W tym przykładzie oba przyciski, dodawania i czyszczenia, mogą aktualizować sumę. Jeśli aplikacja nie działa w oczekiwany sposób, który z przycisków powoduje problem?
Używanie zmiennej globalnej
Aby utworzyć maszynę dodającą, musisz mieć zmienną do przechowywania sumy bieżącej. Najprostsze zmienne do pracy w usłudze Power Fx to zmienne globalne.
Sposób działania zmiennych globalnych:
- Użyj funkcji Set , aby ustawić wartość zmiennej globalnej. Set( MyVar, 1 ) ustawia zmienną globalną MyVar na wartość 1.
- Użyj zmiennej globalnej, odwołując się do nazwy używanej z funkcją Set . W takim przypadku funkcja MyVar zwraca wartość 1.
- Zmienne globalne mogą przechowywać dowolne wartości, w tym ciągi, liczby, rekordy i tabele.
Przebudujmy naszą maszynę dodającą, używając zmiennej globalnej:
Dodaj kontrolkę wprowadzania tekstu o nazwie TextInput1 oraz dwa przyciski o nazwach Przycisk1 i Przycisk2.
Ustaw właściwość Text przycisku Button1 na wartość „Add” oraz właściwość Text przycisku Button2 na wartość „Clear”.
Aby zaktualizować sumę bieżącą za każdym razem, gdy użytkownik wybierze przycisk dodawania, ustaw jego właściwość OnSelect na następującą formułę:
Set( RunningTotal, RunningTotal + TextInput1.Text )
Sam fakt istnienia tej formuły powoduje, że element RunningTotal staje się zmienną globalną, która przechowuje liczbę, z powodu operatora +. Do elementu RunningTotal można odwoływać się w dowolnym miejscu w aplikacji. Za każdym razem, gdy użytkownik otwiera tę aplikację, zmienna RunningTotal ma pustą wartość początkową.
Gdy użytkownik po raz pierwszy wybierze przycisk dodawania i uruchomi funkcję Set, zmienna RunningTotal zostanie ustawiona na wartość RunningTotal + TextInput1.
Aby ustawić sumę bieżącą na wartość 0 za każdym razem, gdy użytkownik wybierze przycisk czyszczenia, ustaw jego właściwość OnSelect na następującą formułę:
Set( RunningTotal, 0 )
Dodaj kontrolkę Etykieta i ustaw jej właściwość Text na wartość RunningTotal.
Ta formuła automatycznie ponownie oblicza i pokazuje użytkownikowi wartość RunningTotal , gdy zmienia się na podstawie przycisków wybranych przez użytkownika.
Wyświetl podgląd aplikacji i masz maszynę dodającą zgodnie z wcześniejszym opisem. Wprowadź liczbę w polu tekstowym i naciśnij przycisk dodawania kilka razy. Gdy wszystko będzie gotowe, wróć do środowiska tworzenia przy użyciu klawisza Esc .
Aby pokazać wartość zmiennej globalnej, wybierz menu Plik i wybierz opcję Zmienne w okienku po lewej stronie.
Aby pokazać wszystkie miejsca, w których nasza zmienna jest definiowana i używana, wybierz ją.
Typy zmiennych
Power Fx ma dwa typy zmiennych:
| Typ zmiennej | Scope | Opis | Ustanawiane funkcje |
|---|---|---|---|
| Zmienne globalne | Aplikacja | Najprostsze w użyciu. Zawiera liczbę, ciąg tekstowy, wartość logiczną, rekord, tabelę i inne. Możesz odwoływać się do niego z dowolnego miejsca w aplikacji. | Set |
| Kolekcje | Aplikacja | Zawiera tabelę, do której można odwoływać się z dowolnego miejsca w aplikacji. Możesz zmodyfikować zawartość tabeli, a nie ustawić jej jako całości. Możesz zapisać go na urządzeniu lokalnym do późniejszego użycia. |
Collect ClearCollect |
W przypadku używania Power Apps zostanie wyświetlony trzeci typ zmiennej:
| Typ zmiennej | Scope | Opis | Ustanawiane funkcje |
|---|---|---|---|
| Zmienne kontekstu | Ekran | Doskonale sprawdzają się przy przekazywaniu wartości na ekran, podobnie do parametrów przekazujących wartości do procedury w innych językach. Można odwoływać się do niego tylko z jednego ekranu. |
UpdateContext Navigate |
Tworzenie i usuwanie zmiennych
Wszystkie zmienne są tworzone niejawnie w funkcji Set, UpdateContext, Navigate, Collect lub ClearCollect . Aby zadeklarować zmienną i jej typ, wystarczy uwzględnić ją w dowolnej z tych funkcji w dowolnym miejscu w aplikacji. Żadna z tych funkcji nie tworzy zmiennych; są one jedynie wypełniane zmiennymi z wartościami. Zmienne nie są nigdy deklarowane w sposób jawny, jeśli są używane w innym narzędziu programistycznym, a wszystkie dane wpisywane są niejawne na podstawie użycia.
Możesz na przykład utworzyć kontrolkę przycisku z formułą OnSelect równą Set(X, 1). Ta formuła określa X jako zmienną typu liczbowego. Symbolu X możesz używać w formułach jako liczby, a zmienna ma wartość pustą po otwarciu aplikacji, ale przed wybraniem przycisku. Po wybraniu przycisku nadajesz symbolowi X wartość 1.
Jeśli dodasz kolejny przycisk i ustawisz jego właściwość OnSelect na Set( X, "Hello" ), wystąpi błąd, ponieważ typ (ciąg tekstowy) nie jest zgodny z typem w poprzednim zestawie (liczba). We wszystkich jawnych definicjach zmiennej muszą mieć zgodny typ. Ponownie wszystko to się stało, ponieważ wspomniano o X w formułach, a nie dlatego, że którakolwiek z tych formuł rzeczywiście została uruchomiona.
Aby usunąć zmienną, usuwasz wszystkie funkcje Set, UpdateContext, Navigate, Collect lub ClearCollect, które niejawnie ustanawiają zmienną. Bez tych funkcji zmienna nie istnieje. Należy również usunąć wszelkie odwołania do zmiennej, ponieważ powodują one błąd.
Okres istnienia i wartość początkowa zmiennej
Aplikacja przechowuje wszystkie zmienne w pamięci podczas jej uruchamiania. Po zamknięciu aplikacji wartości przechowywane w zmiennych są tracone.
Zawartość zmiennej można zapisać w źródle danych, korzystając z funkcji Patch lub Collect. Wartości kolekcji można również przechowywać na urządzeniu lokalnym za pomocą funkcji SaveData.
Kiedy użytkownik otwiera aplikację, wszystkie zmienne mają początkową wartość pustą.
Odczytywanie zmiennych
Użyj nazwy zmiennej, aby odczytać jej wartość. Na przykład można zdefiniować zmienną przy użyciu tej formuły:
Set( Radius, 12 )
Następnie możesz po prostu użyć usługi Radius w dowolnym miejscu, w którym można użyć liczby, i zastąpi ją wartością 12:
Pi() * Power( Radius, 2 )
Jeśli zmienna kontekstu ma taką samą nazwę jak zmienna globalna lub kolekcja, zmienna kontekstu ma pierwszeństwo. Nadal można jednak odwoływać się do zmiennej globalnej lub kolekcję, jeśli użyjesz operatora uściślania[@Radius].
Użyj zmiennej kontekstu (tylko Power Apps)
Poniżej przedstawiono sposób tworzenia maszyny dodającej przy użyciu zmiennej kontekstowej zamiast zmiennej globalnej.
Sposób działania zmiennych kontekstu:
- Zmienne kontekstu są ustanawiane i ustawianie niejawnie za pomocą funkcji UpdateContext lub funkcji Navigate. Gdy aplikacja jest uruchamiana, wartość początkowa wszystkich zmiennych to wartość pusta.
- Zmienne kontekstu są aktualizowane przy użyciu rekordów. W innych narzędziach do programowania zazwyczaj używa się znaku „=” w celu przypisania, np. „x = 1”. W przypadku zmiennych kontekstu należy w zamian użyć składni { x: 1 }. Jeśli jest stosowana zmienna kontekstu, należy użyć jej nazwy bezpośrednio bez składni rekordu.
- Można również ustawić zmienną kontekstu, gdy ekran jest pokazywany przy użyciu funkcji Navigate. Jeśli uznamy ekran za rodzaj procedury lub procedury podrzędnej, to podejście będzie podobne do przekazywania parametru w innych narzędziach do programowania.
- Z wyjątkiem funkcji Navigate zmienne kontekstowe są ograniczone do kontekstu jednego ekranu, w którym uzyskują nazwę. Nie można używać ani ustawiać ich poza tym kontekstem.
- Zmienne kontekstu mogą przechowywać dowolne wartości, w tym ciągi, liczby, rekordy i tabele.
Przebudujmy naszą maszynę dodającą, używając zmiennej kontekstu:
Dodaj kontrolkę wprowadzania tekstu o nazwie TextInput1 oraz dwa przyciski o nazwach Przycisk1 i Przycisk2.
Ustaw właściwość Text przycisku Button1 na wartość „Add” oraz właściwość Text przycisku Button2 na wartość „Clear”.
Aby zaktualizować sumę bieżącą za każdym razem, gdy użytkownik wybierze przycisk dodawania, ustaw jego właściwość OnSelect na następującą formułę:
UpdateContext( { RunningTotal: RunningTotal + TextInput1.Text } )
Sam fakt istnienia tej formuły powoduje, że element RunningTotal staje się zmienną kontekstu, która przechowuje liczbę, z powodu operatora +. Do elementu RunningTotal można odwoływać się w dowolnym miejscu na tym ekranie. Za każdym razem, gdy użytkownik otwiera tę aplikację, zmienna RunningTotal ma pustą wartość początkową.
Gdy użytkownik po raz pierwszy wybierze przycisk dodawania i uruchomi funkcję UpdateContext, zmienna RunningTotal zostanie ustawiona na wartość RunningTotal + TextInput1.
Aby ustawić sumę bieżącą na wartość 0 za każdym razem, gdy użytkownik wybierze przycisk czyszczenia, ustaw jego właściwość OnSelect na następującą formułę:
UpdateContext( { RunningTotal: 0 } )
Ponownie, UpdateContext jest używana z formułą UpdateContext( { RunningTotal: 0 } ).
Dodaj kontrolkę Etykieta i ustaw jej właściwość Text na wartość RunningTotal.
Ta formuła automatycznie ponownie oblicza i pokazuje użytkownikowi wartość RunningTotal , gdy zmienia się na podstawie przycisków wybranych przez użytkownika.
Wyświetl podgląd aplikacji i masz maszynę dodającą zgodnie z wcześniejszym opisem. Wprowadź liczbę w polu tekstowym i naciśnij przycisk dodawania kilka razy. Gdy wszystko będzie gotowe, wróć do środowiska tworzenia przy użyciu klawisza Esc .
Możesz ustawić wartość zmiennej kontekstowej podczas nawigowania do ekranu. Ta technika jest przydatna do przekazywania "kontekstu" lub "parametrów" z jednego ekranu do innego. Aby zaprezentować tę technikę, wstaw ekran, wstaw przycisk i ustaw jego właściwość OnSelect na tę formułę:
Navigate( Screen1, None, { RunningTotal: -1000 } )
Przytrzymaj wciśnięcie klawisza Alt , wybierając ten przycisk, aby wyświetlić ekran1 i ustawić zmienną kontekstową RunningTotal na -1000.
Aby pokazać wartość zmiennej kontekstu, wybierz menu Plik i wybierz opcję Zmienne w okienku po lewej stronie.
Wybierz zmienną kontekstową, aby zobaczyć, gdzie jest ona zdefiniowana i używana.
Używane kolekcji
Na koniec przyjrzymy się procesowi tworzenia maszyny dodającej z użyciem kolekcji. Ponieważ kolekcja zawiera tabelę, którą można łatwo zmodyfikować, ta maszyna dodająca przechowuje "taśmę papierową" każdej wartości podczas ich wprowadzania.
Sposób działania kolekcji:
- Użyj funkcji ClearCollect , aby utworzyć i ustawić kolekcje. Zamiast tego można użyć funkcji Collect , ale skutecznie wymaga innej zmiennej zamiast zastępowania starej.
- Kolekcja jest rodzajem źródła danych, a więc jest tabelą. Aby uzyskać dostęp do konkretnej wartości w kolekcji, użyj funkcji First i wyodrębnij jedno pole z wynikowego rekordu. Jeśli używasz pojedynczej wartości z funkcją ClearCollect, ta wartość jest polem Value , tak jak w tym przykładzie:
First(VariableName).Value
Utwórzmy ponownie maszynę dodającą, używając kolekcji:
Dodaj kontrolkę wprowadzania tekstu o nazwie TextInput1 oraz dwa przyciski o nazwach Button1 i Button2.
Ustaw właściwość Text przycisku Button1 na wartość „Add” oraz właściwość Text przycisku Button2 na wartość „Clear”.
Aby zaktualizować sumę bieżącą za każdym razem, gdy użytkownik wybierze przycisk dodawania, ustaw jego właściwość OnSelect na następującą formułę:
Collect( PaperTape, TextInput1.Text )
Sam fakt istnienia tej formuły ustanawia PaperTape jako kolekcję przechowującą jednokolumnową tabelę ciągów tekstowych. Do elementu PaperTape można odwoływać się w dowolnym miejscu tej aplikacji. Za każdym razem, gdy użytkownik otwiera tę aplikację, PaperTape jest pustą tabelą.
Działająca formuła dodaje nową wartość na końcu kolekcji. Ponieważ dodajesz pojedynczą wartość, funkcja Collect automatycznie umieszcza ją w tabeli z jedną kolumną, a nazwa kolumny to Wartość, której użyjesz później.
Aby wyczyścić rejestr wartości po wybraniu przycisku czyszczenia przez użytkownika, ustaw jego właściwość OnSelect na poniższą formułę:
Clear( PaperTape )
Aby wyświetlić sumę bieżącą, dodaj etykietę i ustaw jej właściwość Text na tę formułę:
Sum( PaperTape, Value )
Aby uruchomić maszynę dodającą, naciśnij klawisz F5 w celu otworzenia podglądu, wprowadź liczby w kontrolce wprowadzania tekstu i wybierz przyciski.
Aby powrócić do domyślnego obszaru roboczego, naciśnij klawisz Esc .
Aby wyświetlić rejestr wartości, wstaw kontrolkę Tabela danych i ustaw jej właściwość Items na następującą formułę:
PaperTape
W okienku po prawej stronie wybierz pozycję Edytuj pola, a następnie wybierz pozycję Dodaj pole, wybierz kolumnę Wartość i kliknij przycisk Dodaj, aby ją wyświetlić.
Aby wyświetlić wartości w kolekcji, wybierz opcję Kolekcje w menu Plik.
Aby móc zapisywać i pobierać kolekcję, dodaj dwie kolejne kontrolki przycisków i ustaw ich właściwości Text na Load i Save. Dla właściwości OnSelect przycisku Load ustaw następującą formułę:
Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )
Najpierw musisz wyczyścić kolekcję, ponieważ funkcja LoadData będzie dołączać przechowywane wartości na końcu kolekcji.
Dla właściwości OnSelect przycisku Save ustaw następującą formułę:
SaveData( PaperTape, "StoredPaperTape" )
Ponownie wyświetl podgląd, naciskając klawisz F5 , wprowadź liczby w kontrolce wprowadzania tekstu i wybierz przyciski. Wybierz przycisk zapisywania. Zamknij i ponownie załaduj aplikację, a następnie wybierz przycisk ładowania, aby ponownie załadować kolekcję.