Variables Power Fx

Note

Microsoft Power Fx est le nouveau nom du langage des formules des applications canevas. Ces articles sont en cours, car Microsoft extrait le langage des applications de canevas, l’intègre à d’autres produits Microsoft Power Platform et les rend disponibles en tant que open source. Commencez par la section Présentation de Microsoft Power Fx pour voir la présentation de ce langage.

Découvrez comment les variables Power Fx diffèrent des variables dans des outils tels que Visual Basic ou JavaScript, et quand les formules sont un meilleur choix. Cet article explique comment choisir des variables globales, des variables de contexte ou des collections pour gérer les valeurs et l’état de l’application.

Dans d’autres outils, vous pouvez effectuer explicitement un calcul et stocker le résultat dans une variable. Cependant, Power Fx et Excel recalculent automatiquement les formules lorsque les données saisies sont modifiées. Ainsi, vous n’avez donc généralement pas besoin de créer ni de mettre à jour des variables. En adoptant cette approche lorsque cela est possible, vous facilitez la création, la compréhension et la gestion de votre application.

Dans certains cas, vous devez utiliser des variables dans Power Fx. Power Fx étend le modèle de Excel en ajoutant des formules de comportement. Ces formules sont exécutées lorsque, par exemple, un utilisateur sélectionne un bouton. Dans une formule de comportement, il est souvent utile de définir une variable à utiliser dans d’autres formules.

De manière générale, évitez d’utiliser des variables. Toutefois, dans certains cas, seule une variable vous permet d’obtenir l’expérience que vous souhaitez. Vous créez et tapez implicitement des variables lorsqu’elles apparaissent dans des fonctions qui définissent leurs valeurs.

Convertir Excel en Power Fx

Excel

Examinons le fonctionnement d’Excel. Une cellule peut contenir une valeur, comme un nombre ou une chaîne, ou une formule basée sur les valeurs d’autres cellules. Lorsque l’utilisateur entre une valeur différente dans une cellule, Excel recalcule automatiquement les formules qui dépendent de la nouvelle valeur. Vous n’avez aucune programmation à effectuer pour activer ce comportement.

Dans l’exemple suivant, la cellule A3 est définie sur la formule A1+A2. Si A1 ou A2 change, A3 recalcule automatiquement pour refléter le changement. Ce comportement ne nécessite aucun codage en dehors de la formule elle-même.

Capture d’écran d’une formule Excel recalculant la somme après une modification de la valeur d’entrée.

Excel ne possède pas de variables. La valeur d’une cellule qui contient une formule change en fonction de son contenu, mais il n’existe aucun moyen de mémoriser le résultat d’une formule et de le stocker dans une cellule ou n’importe où ailleurs. Si vous modifiez la valeur d’une cellule, la feuille de calcul entière peut changer et toutes les valeurs calculées précédemment sont perdues. Un utilisateur Excel peut copier et coller des cellules, mais cette opération dépend du contrôle manuel de l’utilisateur et n’est pas possible avec des formules.

Power Fx

La logique créée dans Power Fx a un comportement très proche d’Excel. Au lieu de mettre à jour des cellules, vous pouvez ajouter des contrôles où vous le souhaitez sur un écran et les nommer pour les utiliser dans des formules.

Par exemple, dans Power Apps, vous pouvez répliquer le comportement d’Excel dans une application en ajoutant un contrôle Label nommé Label1, et deux contrôles Text input nommés TextInput1 et TextInput2. Si vous définissez ensuite la propriété Textde Label1 sur TextInput1.Text + TextInput2.Text, elle affiche toujours la somme des nombres dans TextInput1 et TextInput2 automatiquement.

Capture d’écran de deux entrées de texte et d’une étiquette qui calcule une somme avec une formule Power Fx.

Notez que le contrôle Label1 est sélectionné, ce qui affiche sa formule Text dans la barre de formule en haut de l’écran. Ici, vous trouverez la formule TextInput1.Text + TextInput2.Text. Cette formule crée une dépendance entre ces contrôles, au même titre que les dépendances créées entre les cellules dans un classeur Excel. Nous allons maintenant changer la valeur de TextInput1 :

Capture d’écran d’une formule Power Fx recalculant automatiquement une somme lorsqu’une entrée change.

La formule de Label1 est recalculée automatiquement, affichant la nouvelle valeur.

Dans Power Fx, vous pouvez utiliser des formules pour déterminer non seulement la valeur principale d’un contrôle, mais également des propriétés telles que la mise en forme. Dans l’exemple suivant, une formule pour la propriété Color de l’étiquette affiche automatiquement des valeurs négatives en rouge. La fonction If est proche de celle d’Excel :

If( Value(Label1.Text) < 0, Color.Red, Color.Black )

Capture d’écran d’une formule Power Fx modifiant une couleur d’étiquette lorsque la valeur calculée est négative.

Vous pouvez utiliser des formules pour un vaste éventail de scénarios :

  • En utilisant le GPS de votre appareil, un contrôle de carte peut afficher votre emplacement actuel à l’aide d’une formule qui utilise les données Location.Latitude et Location.Longitude. À mesure que vous vous déplacez, la carte géolocalise automatiquement votre position.
  • Les autres utilisateurs peuvent mettre à jour les sources de données. Par exemple, d’autres personnes de votre équipe peuvent mettre à jour des éléments d’une liste SharePoint. Lorsque vous actualisez une source de données, toutes les formules dépendantes recalculent automatiquement pour refléter les données mises à jour. En plus de l’exemple, vous pouvez définir la propriété Items d’une galerie sur la formule Filter( SharePointList), qui affiche automatiquement le jeu d’enregistrements nouvellement filtré.

Avantages des formules Power Fx

L’utilisation de formules pour créer des applications offre de nombreux avantages :

  • Si vous connaissez Excel, vous connaissez Power Fx. Le modèle et le langage des formules sont identiques.
  • Si vous utilisez d’autres outils de programmation, tenez compte de la quantité de code dont vous avez besoin pour accomplir ces exemples. Dans Visual Basic, vous devriez écrire un gestionnaire d’événements pour l’événement de modification sur chaque contrôle d’entrée de texte. Le code permettant d’effectuer le calcul dans chacun de ces gestionnaires d’événements est redondant et peut sortir de la synchronisation, ou vous devrez écrire une sous-routine commune. Dans Power Fx, vous effectuez toutes ces opérations avec une formule à une seule ligne.
  • Pour comprendre où provient le texte de Label1, vous savez exactement où regarder : la formule dans la propriété Text . Il n’existe aucun autre moyen d’affecter le texte de ce contrôle. Dans un outil de programmation traditionnel, tout gestionnaire d’événements ou toute sous-routine peut modifier la valeur du libellé, à partir de n’importe où dans le programme. Cette approche peut rendre difficile le suivi du moment et de l’endroit où une variable a été modifiée.
  • Si l’utilisateur modifie un contrôle Curseur, puis change d’avis, il peut rétablir le curseur sur sa valeur d’origine. C’est comme si rien n’avait changé : l’application affiche les mêmes valeurs de contrôle qu’avant. Il n’existe aucune ramification permettant de tester et de demander « que se passe-t-il si », tout comme dans Excel.

En général, si vous pouvez obtenir un effet à l’aide d’une formule, vous êtes mieux désactivé. Reposez-vous sur le moteur de formules de Power Fx.

Savoir quand utiliser des variables

Modifions notre additionneur simple pour qu’il se comporte comme une machine à additionner traditionnelle, avec un total cumulé. Si vous sélectionnez un bouton Ajouter , vous ajoutez un nombre au total en cours d’exécution. Si vous sélectionnez un bouton Effacer , vous réinitialisez le total en cours d’exécution sur zéro.

Écran d’affichage Description
Capture d’écran d’une application d’ordinateur ajout avec un total égal à zéro et 77 entrés dans l’entrée de texte. Lorsque l’application démarre, le total cumulé est de 0.

Le point rouge représente le doigt de l’utilisateur dans la zone de saisie de texte, où l’utilisateur entre 77.
Capture d’écran de l’ajout de la machine avec 77 dans l’entrée de texte lorsque l’utilisateur sélectionne Ajouter. L’utilisateur sélectionne le bouton Add.
Capture d’écran de l’ajout de la machine montrant un total de 77 avant l’ajout d’un autre 77. 77 est ajouté au total cumulé.

L’utilisateur sélectionne le bouton Add à nouveau.
Capture d’écran de l’ajout de la machine montrant un total en cours d’exécution de 154 avant que l’utilisateur ne sélectionne Effacer. 77 est à nouveau ajouté au total cumulé, ce qui donne 154.

L’utilisateur sélectionne le bouton Clear.
Capture d’écran de l’ajout de la machine après la réinitialisation du total en cours d’exécution à zéro. Le total cumulé est réinitialisé sur 0.

Notre machine à additionner utilise un élément qui n’existe pas dans Excel : un bouton. Dans cette application, vous ne pouvez pas utiliser uniquement des formules pour calculer le total cumulé, car sa valeur dépend d’une série d’actions effectuées par l’utilisateur. Au lieu de cela, vous devez enregistrer et mettre à jour le total en cours d’exécution manuellement. La plupart des outils de programmation stockent ces informations dans une variable.

Vous avez parfois besoin d’une variable pour que votre application se comporte comme vous le souhaitez. Cependant, cette approche implique des mises en garde :

  • Vous devez mettre à jour manuellement le total cumulé. Le recalcul automatique ne sera pas effectué automatiquement.
  • Vous ne pouvez pas calculer le total en cours d’exécution en fonction des valeurs d’autres contrôles. Il dépend du nombre de fois que l’utilisateur a sélectionné le bouton Ajouter et de la valeur qui était dans le contrôle de saisie de texte à chaque fois. L’utilisateur a-t-il entré 77 et sélectionné Ajouter à deux reprises, ou a-t-il spécifié 24 et 130 pour chacun des ajouts ? Vous ne pouvez pas dire la différence une fois le total atteint 154.
  • Les modifications apportées au total peuvent provenir de différentes sources. Dans cet exemple, les boutons Add et Clear peuvent mettre à jour le total. Si l’application ne se comporte pas comme prévu, quel bouton provoque le problème ?

Utiliser une variable globale

Pour créer votre ordinateur d’ajout, vous avez besoin d’une variable pour contenir le total en cours d’exécution. Les variables les plus simples dans Power Fx sont les variables globales.

Fonctionnement des variables globales :

  • Utilisez la fonction Set pour définir la valeur de la variable globale. Set( MyVar, 1 ) définit la variable globale MyVar sur la valeur 1.
  • Utilisez la variable globale en référençant le nom que vous avez utilisé avec la fonction Set . Dans ce cas, MyVar retourne 1.
  • Les variables globales peuvent contenir n’importe quelle valeur, y compris des chaînes, des nombres, des enregistrements et des tables.

Recréez la machine à additionner à l’aide d’une variable globale :

  1. Ajoutez un contrôle Saisie de texte nommé TextInput1 et deux boutons, nommés Bouton1 et Bouton2.

  2. Définissez la propriété Text de Button1 sur « Add », et la propriété Text de Button2 sur « Clear ».

  3. Pour mettre à jour le total cumulé chaque fois qu’un utilisateur sélectionne le bouton Ajouter, définissez sa propriété OnSelect sur la formule suivante :

    Set( RunningTotal, RunningTotal + TextInput1.Text )

    La simple existence de cette formule établit RunningTotal comme une variable globale qui contient un nombre en raison de l’opérateur +. Vous pouvez référencer RunningTotal n’importe où dans l’application. Chaque fois que l’utilisateur ouvre cette application, RunningTotal a une valeur initiale de Vide.

    La première fois qu’un utilisateur sélectionne le bouton Add et que Set s’exécute, RunningTotal est défini sur la valeur RunningTotal + TextInput1.

    Capture d’écran de la propriété Add button OnSelect à l’aide de Set pour mettre à jour une variable globale Power Fx.

  4. Pour définir le total cumulé sur 0 chaque fois que l’utilisateur sélectionne le bouton Effacer, définissez sa propriété OnSelect sur la formule suivante :

    Set( RunningTotal, 0 )

    Capture d’écran de la propriété Clear button OnSelect à l’aide de Set pour réinitialiser une variable globale Power Fx.

  5. Ajoutez un contrôle Labelet définissez sa propriété Text sur RunningTotal.

    Cette formule recalcule et affiche automatiquement la valeur de RunningTotal à mesure qu’elle change en fonction des boutons sélectionnés par l’utilisateur.

    Capture d’écran d’une propriété Text d’étiquette affichant la valeur de la variable globale RunningTotal.

  6. Affichez un aperçu de l’application et vous disposez de votre ordinateur d’ajout comme décrit précédemment. Entrez un nombre dans la zone de texte et appuyez sur le bouton Ajouter plusieurs fois. Lorsque vous êtes prêt, revenez à l’expérience de création à l’aide de la touche Échap .

    Capture d’écran de l’ajout de l’aperçu de l’ordinateur avec une valeur d’entrée et le total calculé en cours d’exécution.

  7. Pour afficher la valeur de la variable globale, sélectionnez le menu Fichier et sélectionnez Variables dans le volet gauche.

    Capture d’écran de l’option Variables globales sélectionnée dans le menu Fichier dans l’éditeur d’application.

  8. Pour afficher tous les emplacements où la variable est définie et utilisée, sélectionnez-la.

    Capture d’écran des emplacements où une variable globale est définie et utilisée dans l’application.

Types de variable

Power Fx a deux types de variables :

Type de variable Portée Description Fonctions qui établissent
Variables globales App Les plus simples à utiliser. Contient un nombre, une chaîne de texte, un booléen, un enregistrement, une table, etc. Vous pouvez le référencer n’importe où dans l’application. Set
Collections App Contient une table que vous pouvez référencer n’importe où dans l’application. Vous pouvez modifier le contenu de la table plutôt que de le définir dans son ensemble. Vous pouvez l’enregistrer sur l’appareil local pour une utilisation ultérieure. Collect
ClearCollect

Lorsque vous utilisez Power Apps, vous voyez un troisième type de variable :

Type de variable Portée Description Fonctions qui établissent
Variables de contexte Écran Idéales pour transmettre des valeurs à un écran, comme vous transmettriez des paramètres à une procédure dans d’autres langages. Vous ne pouvez le référencer qu’à partir d’un seul écran. UpdateContext
Navigate

Créer et supprimer des variables

Vous créez implicitement toutes les variables lorsqu’elles apparaissent dans une fonction Set, UpdateContext, Navigate, Collect ou ClearCollect . Pour déclarer une variable et son type, incluez-la dans l’une de ces fonctions n’importe où dans votre application. Aucune de ces fonctions ne crée de variables ; ils remplissent uniquement les variables avec des valeurs. Vous ne déclarez jamais de variables explicitement comme vous le feriez dans un autre outil de programmation, et toute saisie est implicite à partir de l’utilisation.

Par exemple, vous pourriez avoir un contrôle Bouton avec une formule OnSelect égale à Set( X, 1 ). Cette formule établit X comme une variable avec un type de nombre. Vous pouvez utiliser X dans les formules sous forme de nombre, et cette variable a une valeur de Vide après avoir ouvert l’application, mais avant de sélectionner le bouton. Lorsque vous sélectionnez le bouton, vous donnez à X la valeur de 1.

Si vous ajoutez un autre bouton et définissez sa propriété OnSelect sur Set( X, « Hello », une erreur se produit, car le type (chaîne de texte) ne correspond pas au type dans l’ensemble précédent (nombre). Toutes les définitions implicites de la variable doivent s’accorder sur le type. Là encore, tout cela s’est produit parce que vous avez mentionné X dans les formules, et non parce qu’aucune de ces formules s’est réellement exécutée.

Vous supprimez une variable en supprimant toutes les fonctions Set, UpdateContext, Navigate, Collect, ou ClearCollect qui implicitement établissent la variable. Sans ces fonctions, la variable n’existe pas. Vous devez également supprimer toutes les références à la variable, car elles provoquent une erreur.

Durée de vie et valeur initiale de la variable

L’application contient toutes les variables en mémoire pendant son exécution. Après la fermeture de l’application, les valeurs que les variables contiennent sont perdues.

Vous pouvez stocker le contenu d’une variable dans un source de données en utilisant les fonctions Patch ou Collect. Vous pouvez également stocker des valeurs dans des collections sur le périphérique local en utilisant la fonction SaveData.

Lorsque l’utilisateur ouvre l’application, toutes les variables ont une valeur initiale de Vide.

Lire des variables

Utilisez le nom de la variable pour lire sa valeur. Par exemple, vous pouvez définir une variable avec cette formule :

Set( Radius, 12 )

Ensuite, vous pouvez simplement utiliser Radius n’importe où que vous pouvez utiliser un nombre, et il remplace par 12 :

Pi() * Power( Radius, 2 )

Si vous donnez à une variable de contexte le même nom qu’une variable globale ou une collection, la variable de contexte est prioritaire. Toutefois, vous pouvez toujours référencer la variable globale ou la collection si vous utilisez l’opérateur de levée d’ambiguïté@[Radius].

Utiliser une variable de contexte (Power Apps uniquement)

Voici comment créer l’ordinateur d’ajout à l’aide d’une variable de contexte au lieu d’une variable globale.

Fonctionnement des variables de contexte :

  • Vous établissez et définissez implicitement les variables de contexte à l’aide de la fonction UpdateContext ou Navigate. Lorsque l’application démarre, la valeur initiale de toutes les variables de contexte est Vide.
  • Vous mettez à jour des variables de contexte avec des enregistrements. Dans d’autres outils de programmation, vous utilisez couramment « = » pour l’affectation, comme dans « x = 1 ». Pour les variables de contexte, utilisez { x: 1 } à la place. Lorsque vous utilisez une variable de contexte, utilisez son nom directement sans la syntaxe d’enregistrement.
  • Vous pouvez également définir une variable de contexte lorsque vous utilisez la fonction Navigate pour afficher un écran. Si vous considérez un écran comme une sorte de procédure ou de sous-routine, cette approche ressemble à la transmission de paramètres dans d’autres outils de programmation.
  • À l’exception de Navigate, les variables de contexte sont limitées au contexte d’un seul écran, d’où elles tirent leur nom. Vous ne pouvez pas les utiliser ni les définir en dehors de ce contexte.
  • Les variables de contexte peuvent contenir n’importe quelle valeur, y compris des chaînes, des nombres, des enregistrements et des tableaux.

Recréons notre machine à additionner à l’aide d’une variable de contexte :

  1. Ajoutez un contrôle Saisie de texte nommé TextInput1 et deux boutons, nommés Bouton1 et Bouton2.

  2. Définissez la propriété Text de Button1 sur « Add », et la propriété Text de Button2 sur « Clear ».

  3. Pour mettre à jour le total cumulé chaque fois qu’un utilisateur sélectionne le bouton Ajouter, définissez sa propriété OnSelect sur la formule suivante :

    UpdateContext( { RunningTotal : RunningTotal + TextInput1.Text } )

    La simple existence de cette formule établit RunningTotal comme variable de contexte qui contient un nombre en raison de l’opérateur +. Vous pouvez référencer RunningTotal n’importe où dans cet écran. Chaque fois que l’utilisateur ouvre cette application, RunningTotal a une valeur initiale de Vide.

    La première fois que l’utilisateur sélectionne le bouton Add et que UpdateContext s’exécute, RunningTotal est défini sur la valeur RunningTotal + TextInput1.

    Capture d’écran de la propriété Add button OnSelect mettant à jour la variable de contexte RunningTotal.

  4. Pour définir le total cumulé sur 0 chaque fois que l’utilisateur sélectionne le bouton Effacer, définissez sa propriété OnSelect sur la formule suivante :

    UpdateContext( { RunningTotal : 0 } )

    Là encore, UpdateContext est utilisé avec la formuleUpdateContext( { RunningTotal: 0 } ).

    Capture d’écran de la propriété Clear button OnSelect réinitialisant la variable de contexte RunningTotal.

  5. Ajoutez un contrôle Labelet définissez sa propriété Text sur RunningTotal.

    Cette formule recalcule et affiche automatiquement la valeur de RunningTotal à mesure qu’elle change en fonction des boutons sélectionnés par l’utilisateur.

    Capture d’écran d’une propriété Text d’étiquette affichant la valeur de la variable de contexte RunningTotal.

  6. Affichez un aperçu de l’application et vous disposez de votre ordinateur ajouté comme décrit précédemment. Entrez un nombre dans la zone de texte et appuyez sur le bouton Ajouter plusieurs fois. Lorsque vous êtes prêt, revenez à l’expérience de création à l’aide de la touche Échap .

    Capture d’écran de l’aperçu de l’application avec une valeur d’entrée de texte et une variable contextuelle exécutant le total.

  7. Vous pouvez définir la valeur d’une variable de contexte tout en navigant vers un écran. Cette technique est utile pour passer « contexte » ou « paramètres » d’un écran à un autre. Pour illustrer cette technique, insérez un écran, insérez un bouton et définissez sa propriété OnSelect sur cette formule :

    Navigate( Screen1, None, { RunningTotal : -1000 } )

    Capture d’écran d’une propriété OnSelect de bouton à l’aide de Navigate pour passer une variable de contexte à Screen1.

    Maintenez la touche Alt enfoncée pendant que vous sélectionnez ce bouton pour afficher Screen1 et définissez la variable de contexte RunningTotal sur -1000.

    Capture d’écran de Screen1 après la définition de la variable de contexte RunningTotal sur 1000 négative.

  8. Pour afficher la valeur de la variable de contexte, sélectionnez le menu Fichier, puis sélectionnez Variables dans le volet gauche.

    Capture d’écran de l’option Variables contextuelles sélectionnée dans le menu Fichier dans l’éditeur d’application.

  9. Sélectionnez la variable de contexte pour voir où elle est définie et utilisée.

    Capture d’écran des emplacements où une variable de contexte est définie et utilisée dans l’application.

Utiliser une collection

Enfin, examinons la création de la machine à additionner avec une collection. Étant donné qu’une collection contient une table que vous pouvez facilement modifier, cette machine d’ajout conserve une « bande de papier » de chaque valeur lorsque vous les entrez.

Fonctionnement des collections :

  • Utilisez la fonction ClearCollect pour créer et définir des collections. Vous pouvez utiliser la fonction Collect à la place, mais elle nécessite effectivement une autre variable au lieu de remplacer l’ancienne.
  • Une collection est une sorte de source de données et, par conséquent, une table. Pour accéder à une valeur unique dans une collection, utilisez la fonction First et extrayez un champ de l’enregistrement qui en résulte. Si vous utilisez une valeur unique avec ClearCollect, cette valeur est le champ Valeur , comme dans cet exemple :
    First(VariableName).Value

Recréons notre machine à additionner à l’aide d’une collection :

  1. Ajoutez un contrôle Text input nommé TextInput1 et deux boutons, nommés Button1 et Button2.

  2. Définissez la propriété Text de Button1 sur « Add », et la propriété Text de Button2 sur « Clear ».

  3. Pour mettre à jour le total cumulé chaque fois qu’un utilisateur sélectionne le bouton Ajouter, définissez sa propriété OnSelect sur la formule suivante :

    Collect( PaperTape, TextInput1.Text )

    La simple existence de cette formule établit PaperTape comme une collection qui contient un tableau à une colonne de chaînes de texte. Vous pouvez référencer PaperTape n’importe où dans cette application. Chaque fois qu’un utilisateur ouvre cette application, PaperTape est une table vide.

    Quand cette formule s’exécute, elle ajoute la nouvelle valeur à la fin de la collection. Étant donné que vous ajoutez une valeur unique, Collect place automatiquement celle-ci dans une table à colonne unique, et le nom de la colonne est Value, que vous utilisez ultérieurement.

    Capture d’écran de la propriété Add button OnSelect qui collecte une valeur d’entrée dans PaperTape.

  4. Pour effacer la bande lorsque l’utilisateur sélectionne le bouton Clear, définissez sa propriété OnSelect sur la formule suivante :

    Clear( PaperTape )

    Capture d’écran du bouton Effacer la propriété OnSelect qui efface toutes les valeurs de PaperTape.

  5. Pour afficher le total cumulé, ajoutez une Étiquette et définissez sa propriété Text sur la formule suivante :

    Sum( PaperTape, Value )

    Capture d’écran d’une propriété Text d’étiquette à l’aide de Sum pour calculer le total en cours d’exécution paperTape.

  6. Pour exécuter la machine à additionner, appuyez sur F5 pour ouvrir l’aperçu, entrez des nombres dans le contrôle d’entrée de texte, puis sélectionnez des boutons.

    Capture d’écran de l’ordinateur d’ajout basé sur la collection avec une valeur d’entrée et un total en cours d’exécution.

  7. Pour revenir à l’espace de travail par défaut, appuyez sur échap .

  8. Pour afficher la bande de papier, insérez un contrôle Table de données, puis définissez sa propriété Items sur la formule suivante :

    PaperTape

    Dans le volet de droite, sélectionnez Modifier les champs, puis sélectionnez Ajouter le champ, sélectionnez la colonne Valeur, puis sélectionnez Ajouter pour l’afficher.

    Capture d’écran d’une table de données affichant les valeurs ajoutées à la collection PaperTape.

  9. Pour afficher les valeurs dans votre collection, sélectionnez Collections dans le menu Fichier.

    Capture d’écran de la vue Collections affichant les valeurs stockées dans la collection PaperTape.

  10. Pour stocker et récupérer votre collection, ajoutez deux contrôles Bouton supplémentaires et définissez leurs propriétés Text sur Load et Save. Définissez la propriété OnSelect du bouton Load sur la formule suivante :

    Clear( PaperTape) ; LoadData( PaperTape, « StoredPaperTape », true )

    Vous devez supprimer la collection en premier, car LoadData ajoute les valeurs stockées à la fin de la collection.

    Capture d’écran du bouton Charger la propriété OnSelect et chargement de la collection PaperTape.

  11. Définissez la propriété OnSelect du bouton Save sur la formule suivante :

    SaveData( PaperTape, « StoredPaperTape » )

    Capture d’écran du bouton Enregistrer la propriété OnSelect qui enregistre la collection PaperTape localement.

  12. Affichez à nouveau un aperçu en appuyant sur la touche F5 , entrez des nombres dans le contrôle d’entrée de texte, puis sélectionnez des boutons. Cliquez sur le bouton Enregistrer. Fermez et rechargez votre application, puis sélectionnez le bouton Load pour recharger votre collection.