Variablen

Notiz

Microsoft Power Fx ist der neue Name für die Formelsprache für Canvas-Apps. Diese Artikel werden ständig weiterentwickelt, da wir die Sprache aus Canvas-Apps extrahieren, in andere Microsoft Power Platform-Produkte integrieren und als Open Source zur Verfügung stellen. Beginnen Sie mit der Microsoft Power Fx-Übersicht, um eine Einführung in die Sprache zu erhalten.

Wenn Sie eine anderes Programmiertool verwenden, wie z.B. Visual Basic oder JavaScript, fragen Sie sich möglicherweise: Wo sind die Variablen? Microsoft Power Fx ist etwas anders und erfordert einen anderen Ansatz. Statt auf eine Variable zurückzugreifen, wenn Sie eine Formel schreiben, sollten Sie sich die Frage stellen: Wie würde ich in Excel verfahren?

In anderen Tools haben Sie möglicherweise eine explizite Berechnung ausgeführt und das Ergebnis in einer Variablen gespeichert. Allerdings berechnen sowohl Power Fx als auch Excel automatisch Formeln neu, sobald die Eingabedaten geändert werden, sodass Sie üblicherweise keine Variablen erstellen oder aktualisieren müssen. Wenn Sie diesen Ansatz wann immer möglich verwenden, können Sie Ihre App leichter erstellen, verstehen und warten.

In einigen Fällen müssen Sie Variablen in Power Fx verwenden, wodurch das Modell von Excel um Verhaltensformeln erweitert wird. Diese Formeln werden z.B. ausgeführt, wenn ein Benutzer eine Schaltfläche auswählt. Innerhalb einer Verhaltensformel ist es oft hilfreich, eine Variable festzulegen, die in anderen Formeln verwendet werden soll.

Vermeiden Sie im allgemeinen das Verwenden von Variablen. Manchmal hat jedoch nur eine Variable die Auswirkungen, die Sie benötigen. Variablen werden implizit erstellt und eingetippt, wenn sie in Funktionen erscheinen, die ihre Werte setzen.

Excel in Power Fx übersetzt

Excel

Betrachten Sie die Funktionsweise von Excel. Eine Zelle kann einen Wert, z.B. eine Zahl oder eine Zeichenfolge, oder eine Formel enthalten, die auf den Werten der anderen Zellen basiert. Nachdem der Benutzer einen anderen Wert in eine Zelle eingibt, berechnet Excel automatisch alle Formeln, die von dem neuen Wert abhängig sind. Zum Aktivieren dieses Verhaltens müssen Sie nichts programmieren.

Im folgenden Beispiel ist die Zelle A3 auf die Formel A1+A2 eingestellt. Wenn sich A1 oder A2 ändert, wird A3 automatisch neu berechnet, um die Änderung widerzuspiegeln. Dieses Verhalten erfordert keine Codierung außerhalb der Formel selbst.

Animation der Neuberechnung der Summe zweier Zahlen in Excel.

Excel verfügt nicht über Variablen. Der Wert einer Zelle, die eine Formel enthält, ändert sich abhängig von seiner Eingabe; es gibt allerdings keine Möglichkeit, das Ergebnis einer Formel in einer Zelle oder an einer anderen Stelle zu speichern. Wenn Sie den Wert einer Zelle ändern, ändert sich möglicherweise das gesamte Arbeitsblatt, und alle zuvor berechneten Werte gehen verloren. Ein Excel-Benutzer kann Zellen kopieren und einfügen, aber dies unterliegt der manuellen Eingabe des Benutzers und ist mit Formeln nicht möglich.

Power Fx

Logik, die Sie in Power Fx erstellen, verhält sich ähnlich wie Excel. Statt Zellen zu aktualisieren, können Sie Steuerelemente überall auf dem Bildschirm hinzufügen und sie für den Einsatz in Formeln benennen.

Sie können in Power Apps z.B. das Verhalten von Excel in einer App replizieren, indem Sie ein Label-Steuerelement mit dem Namen Beschriftung1 und zwei Texteingabe-Steuerelemente mit den Namen TextInput1 und TextInput2 hinzufügen. Wenn Sie anschließend die Text-Eigenschaft von Label1 auf TextInput1.Text + TextInput2.Text festlegen, wird immer automatisch die Summe der Zahlen angezeigt, die sich in TextInput1 und TextInput2 befinden.

Die Summe zweier Zahlen in Power Fx berechnen

Beachten Sie, dass das Label1-Steuerelement ausgewählt ist, dessen Text-Formel in der Bearbeitungsleiste am oberen Rand des Bildschirms angezeigt wird. Hier finden Sie die Formel TextInput1.Text + TextInput2.Text. Diese Formel erstellt eine Abhängigkeit zwischen diesen Steuerelementen, genauso wie Abhängigkeiten zwischen den Zellen in einer Excel-Arbeitsmappe erstellt werden. Ändern Sie den Wert von TextInput1:

Animation zur Berechnung der Summe von zwei Zahlen in Power Fx

Die Formel für Label1 wurde automatisch neu berechnet; der neue Wert wird angezeigt.

In Power Fx können Sie Formeln nicht nur verwenden, um den primären Wert eines Steuerelements zu bestimmen, sondern auch, um Eigenschaften, wie z.B. das Format, zu bestimmen. Im nächsten Beispiel zeigt eine Formel für die Color-Eigenschaft der Bezeichnung automatisch negative Werte rot an. Die Wenn-Funktion sollte Ihnen aus Excel bekannt vorkommen:

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

Animation der bedingten Formatierung.

Sie können verschiedene Formeln für eine Vielfalt an Szenarios verwenden:

  • Indem Sie das GPS Ihres Geräts verwenden, kann ein Kartensteuerelement mit einer Formel, die Location.Latitude und Location.Longitude verwendet, Ihre aktuelle Standort anzeigen. Während Sie sich bewegen, verfolgt die Karte automatisch Ihren Standort.
  • Andere Benutzer können Datenquellen aktualisieren. Beispielsweise könnten andere Mitglieder Ihres Teams Elemente in einer SharePoint-Liste aktualisieren. Wenn Sie eine Datenquelle aktualisieren, werden alle abhängigen Formeln automatisch neu berechnet, um die aktualisierten Daten widerzuspiegeln. Wenn Sie das Beispiel fortführen, können Sie beispielsweise die Items-Eigenschaft eines Katalogs auf die Formel Filter (SharePointList) festlegen, sodass automatisch die neu gefilterte Menge von Datensätze angezeigt wird.

Leistungen

Das Erstellen von Apps mithilfe von Formeln hat viele Vorteile:

  • Wenn Sie Excel kennen, kennen Sie Power Fx. Das Modell und die Formelsprache sind identisch.
  • Wenn Sie schon mal andere Programmiertools verwendet haben, können Sie sich vorstellen, wie viel Code erforderlich wäre, um diese Beispiele zu realisieren. In Visual Basic müssten Sie einen Ereignishandler für das Änderungsereignis für jedes Texteingabe-Steuerelement erstellen. Der Code, der jede dieser Berechnung ausführen soll, ist redundant und könnte möglicherweise nicht mehr synchron abgerufen werden, oder Sie müssten eine gängige Unterroutine schreiben. In Power Fx erreichen Sie das alles mit einer einzigen, einzeiligen Formel.
  • Sie wissen genau, wo Sie suchen müssen, um zu erfahren, woher der Text in Label1 stammt: die Formel in der Text-Eigenschaft. Es gibt keine andere Möglichkeit, den Text dieses Steuerelements zu beeinflussen. In einem herkömmlichen Programmiertool könnte jeder Ereignishandler und jede Unterroutine überall im Programm den Wert des Bezeichners ändern. Dadurch kann es schwieriger sein, einzugrenzen, wann und wo eine Variable geändert wurde.
  • Wenn der Benutzer ein Schiebereglersteuerelement ändert und es sich dann noch mal anders überlegt, kann er den Schieberegler wieder auf den ursprünglichen Wert zurücksetzen. Und es ist, als ob nichts geändert worden wäre: Die Anwendung zeigt die gleichen Steuerelementwerte wie vorher an. Das Experimentieren und Fragen nach „Was wäre wenn“ hat keine Folgen, genauso wenig wie in Excel.

Im Allgemeinen sind Sie bessergestellt, wenn Sie durch das Verwenden einer Formel einen Effekt erzielen können. Lassen Sie die Formel-Engine in Power Fx für Sie die Arbeit erledigen.

Wann es sinnvoll ist, Variablen zu verwenden

Passen Sie Ihren einfachen Addierer an, sodass er sich wie eine traditionelle Rechenmaschine mit einer laufenden Summe verhält. Wenn Sie eine Add-Schaltfläche (Hinzufügen) auswählen, fügen Sie eine Zahl zur laufenden Summe hinzu. Wenn Sie eine Clear-Schaltfläche (Löschen) auswählen, setzen Sie die laufende Summe auf 0 (null) zurück.

Anzeigen Beschreibung
App mit einem Texteingabesteuerelement, einer Beschriftung und zwei Schaltflächen. Wenn die App startet, ist die laufende Summe 0.

Der rote Punkt stellt den Finger des Benutzers im Texteingabefeld dar, in das der Benutzer 77 eingibt.
Das Steuerelement „Texteingabe“ enthält 77, und die Schaltfläche „Hinzufügen“ wird gedrückt. Der Benutzer wählt die Schaltfläche Hinzufügen.
Die Gesamtzahl beträgt 77, und es werden weitere 77 hinzugefügt. 77 wird zur laufenden Summe addiert.

Der Benutzer wählt erneut die Schaltfläche Hinzufügen.
Die Gesamtzahl beträgt 154, bevor sie gelöscht wird. 77 wird wieder zur laufenden Summe addiert, was 154 ergibt.

Der Benutzer wählt die Schaltfläche Löschen.
Die Summe wird gelöscht. Die laufende Gesamtsumme wird auf 0 zurückgesetzt.

Ihre Rechenmaschine verwendet etwas, das es in Excel so nicht gibt: eine Schaltfläche. Sie können in dieser App die laufende Summe nicht mit Formeln allein berechnen, da ihr Wert von einer Reihe von Aktionen des Benutzers abhängt. Stattdessen muss die laufende Summe aufgezeichnet und manuell aktualisiert werden. Die meisten Programmiertools speichern diese Informationen in einer Variablen.

Manchmal benötigen Sie für Ihre App eine Variable, um das zu erreichen, was Sie möchten. Doch dieser Ansatz hat auch Nachteile:

  • Sie müssen die laufende Summe manuell aktualisieren. Die automatische Berechnung erfüllt nicht Ihre Ansprüche.
  • Die laufende Summe kann nicht mehr basierend auf den Werten anderer Steuerelemente berechnet werden. Dies hängt davon ab, wie oft der Benutzer die Schaltfläche Add (Hinzufügen) ausgewählt hat und welcher Wert sich jeweils in dem Texteingabe-Steuerelement befunden hat. Hat der Benutzer 77 eingegeben und Hinzufügen zweimal ausgewählt, oder hat er jeweils 24 und 130 für jede der Hinzufügungen angegeben? Nachdem die Summe 154 beträgt, können Sie den Unterschied nicht mehr feststellen.
  • Änderungen der Gesamtsumme können aus verschiedenen Pfaden stammen. In diesem Beispiel kann sowohl die Add- als auch die Clear-Schaltflächen die Gesamtsumme aktualisieren. Wenn die App sich nicht wie erwartet verhält, ist welche Schaltfläche für das Problem verantwortlich?

Verwenden Sie eine globale Variable

Sie benötigen eine Variable, die die laufende Summe enthält, um unseren hinzufügenden Computer zu erstellen. Die einfachsten Variablen, mit denen in Power Fx gearbeitet werden kann, sind globale Variablen.

Funktionsweise von globalen Variablen:

  • Sie legen den Wert der globalen Variablen mit der Set-Funktion fest. Set( MyVar, 1 ) legt die globale Variable MyVar auf den Wert 1 fest.
  • Sie verwenden die globale Variable, indem Sie mit der Set-Funktion auf den verwendeten Namen verweisen. In diesem Fall gibt MyVar den Wert 1 zurück.
  • Globale Variablen können beliebige Werte enthalten, z.B. Zeichenfolgen, Zahlen, Datensätze und Tabellen.

Erstellen Sie Ihre Rechenmaschine mithilfe einer globalen Variablen neu:

  1. Fügen Sie ein Texteingabe-Steuerelement mit dem Namen TextInput1 hinzu, und zwei Schaltflächen mit dem Namen Button1 und Button2.

  2. Legen Sie die Text-Eigenschaft von Schaltfläche1 auf Hinzufügen fest, und legen Sie die Text-Eigenschaft von Schaltfläche2 auf Löschen fest.

  3. Legen Sie die OnSelect-Eigenschaft einer Schaltfläche Hinzufügen auf diese Formel fest:

    Set( RunningTotal, RunningTotal + TextInput1.Text )

    Die bloße Existenz dieser Formel etabliert RunningTotal als eine globale Variable, die aufgrund des Operators + eine Zahl enthält. Sie können RunningTotal überall in dieser App referenzieren. Immer, wenn der Benutzer diese App öffnet, hat RunningTotal einen Anfangswert von blank.

    Wenn ein Benutzer zum ersten Mal die Schaltfläche Hinzufügen wählt und Setzen läuft, wird RunningTotal auf den Wert RunningTotal + TextInput1 gesetzt.

    Die OnSelect-Eigenschaft der Schaltfläche „Hinzufügen“ ist auf die Funktion „Set“ gesetzt.

  4. Legen Sie die OnSelect-Eigenschaft der Clear-Schaltfläche auf folgende Formel fest, um die laufende Summe auf 0 festzulegen:

    Set( RunningTotal, 0 )

    Die OnSelect-Eigenschaft der Clear-Schaltfläche ist auf die Set-Funktion eingestellt.

  5. Fügen Sie ein Label-Steuerelement (Bezeichnung) hinzu, und legen Sie dessen Text-Eigenschaft auf RunningTotal fest.

    Diese Formel wird automatisch neu berechnet und zeigt dem Benutzer den Wert von RunningTotal an, während sie sich auf Grundlage der vom Benutzer ausgewählten Schaltflächen ändert.

    Text-Eigenschaft der Beschriftung wird auf den Namen der Variablen gesetzt.

  6. Sehen sie sich eine Vorschau der App an, und Sie sehen die Rechenmaschine, wie sie oben beschrieben wurde. Geben Sie eine Zahl im Textfeld ein, und drücken Sie mehrmals die Schaltfläche Add. Kehren Sie anschließend zur Erstellung zurück, indem Sie die ESC-TASTE drücken.

    Das Steuerelement für die Texteingabe enthält einen Wert, und die Beschriftung enthält die laufende Summe.

  7. Um den Wert der globalen Variablen anzuzeigen, wählen Sie das Menü Datei aus, und wählen Sie im linken Bereich Variablen aus.

    Option „Variablen“ im Menü „Datei“.

  8. Um alle Orte anzuzeigen, an denen die Variable definiert und verwendet wird, wählen Sie sie aus.

    Liste des Speicherorts, an dem die Variable verwendet wird.

Typen von Variablen

Power Fx hat zwei Typen von Variablen:

Variablentyp Geltungsbereich Beschreibung des Dataflows Funktionen, die Folgendes festlegen
Globale Variablen App Sind am einfachsten zu verwenden. Enthalten eine Zahl, eine Textzeichenfolge, einen booleschen Wert, einen Datensatz, eine Tabelle usw., auf die an einer beliebigen Stelle in der App verwiesen werden kann. Festlegen
Sammlungen Anw Enthalten eine Tabelle, die Verweise von beliebigen Stellen in der App darstellen kann. Ermöglichen es, dass der Inhalt der Tabelle geändert wird, und wird nicht in seiner Gesamtheit festgelegt. Können für die spätere Verwendung auf dem lokalen Gerät gespeichert werden. Sammeln
ClearCollect

Bei Verwendung in Power Apps gibt es einen dritten Variablentyp:

Variablentyp Geltungsbereich Beschreibung Funktionen, die Folgendes festlegen
Kontextvariablen Bildschirm Ideal für die Übergabe von Werten an einen Bildschirm (ähnelt der Übergabe eines Parameters an eine Prozedur in anderen Sprachen). Der Verweis ist nur aus einem Bildschirm möglich. UpdateContext
Navigieren

Variablen erstellen und entfernen

Alle Variablen werden implizit erstellt, wenn sie in einer Funktion Set, UpdateContext, Navigate, Collect, oder ClearCollect erscheinen. Um eine Variable und ihren Typ zu deklarieren, brauchen Sie sie nur in eine dieser Funktionen irgendwo in Ihrer App einzufügen. Keine dieser Funktionen erstellt Variablen; sie füllen Variablen nur mit Werten. Sie deklarieren Variablen nie explizit, wie dies in einem anderen Programmiertool der Fall sein könnte, und alle Eingaben sind implizit durch die Verwendung bedingt.

Sie könnten z.B. ein Steuerelement auf einer Schaltfläche mit einer Formel OnSelect Formel gleich Set( X, 1 ) haben. Diese Formel etabliert X als eine Variable mit einer Art Nummer. Sie können X in Formeln als Zahl verwenden, und diese Variable hat nach Öffnen der App, aber vor Auswahl der Schaltfläche einen Wert von blank. Wenn Sie die Schaltfläche wählen, geben Sie X den Wert von 1 ein.

Wenn Sie eine weitere Schaltfläche hinzufügen und deren Eigenschaft OnSelect auf Set( X, "Hello" ) setzen, würde ein Fehler auftreten, da der Typ (Textzeichenfolge) nicht mit dem Typ im vorherigen Set (Zahl) übereinstimmt. Alle impliziten Definitionen der Variable müssen mit dem Typ übereinstimmen. Noch einmal: All dies geschah, weil Sie X in Formeln erwähnt haben, nicht weil eine dieser Formeln tatsächlich ausgeführt wurde.

Sie entfernen eine Variable, indem Sie alle Funktionen Set, UpdateContext, Navigate, Collect, oder ClearCollect entfernen, die die Variable implizit erstellen. Ohne diese Funktionen ist die Variable nicht vorhanden. Sie müssen auch alle Verweise auf die Variable entfernen, da sie einen Fehler verursachen.

Variable Lebensdauer und Anfangswert

Alle Variablen werden während der Ausführung der App im Speicher gehalten. Beim Schließen der App gehen die in den Variablen enthaltenen Werte verloren.

Sie können den Inhalt einer Variablen in einer Datenquelle speichern, indem Sie die Funktionen Patch oder Collect verwenden. Sie können auch Werte in Sammlungen auf dem lokalen Gerät speichern, indem Sie die Funktion Daten speichern verwenden.

Wenn der Benutzer die App öffnet, haben alle Variablen einen Anfangswert von Blank.

Lesen von Variablen

Der Wert einer Variablen wird über den Variablennamen abgerufen. Mit dieser Formel können Sie z.B. eine Variable definieren:

Set( Radius, 12 )

Dann können Sie einfach Radius überall dort verwenden, wo Sie eine Nummer verwenden können, und diese wird durch 12 ersetzt:

Pi() * Power( Radius, 2 )

Wenn Sie einer Kontextvariablen den gleichen Namen wie einer globalen Variable oder einer Sammlung geben, hat die Kontextvariable Vorrang. Sie können jedoch weiterhin auf die globale Variable oder Sammlung verweisen, wenn Sie den Disambiguationsoperator[@Radius] verwenden.

Eine Kontextvariable verwenden (nur Power Apps)

Im Folgenden wird erläutert, wie die Rechenmaschine mit einer Kontextvariablen und nicht mit einer globalen Variablen erstellt wird.

Funktionsweise von Kontextvariablen:

  • Sie legen implizit Kontextvariablen fest und setzen sie, indem Sie die Funktion Kontext aktualisieren oder Navigieren verwenden. Wenn die App startet, ist der Anfangswert aller Kontextvariablen blank.
  • Sie aktualisieren Kontextvariablen mit Datensätzen. In anderen Programmiertools verwenden Sie häufig „=“ für Zuweisungen, wie z.B. in „x = 1“. Verwenden Sie stattdessen für Kontextvariablen { x: 1 }. Wenn Sie eine Kontextvariable verwenden, verwenden Sie ihren Namen direkt ohne die Satzsyntax.
  • Sie können auch eine Kontextvariable setzen, wenn Sie die Funktion Navigieren verwenden, um ein Bild anzuzeigen. Wenn Sie sich einen Bildschirm als eine Art Prozedur oder Subroutine vorstellen, ähnelt dieser Ansatz der Parameterübergabe in anderen Programmiertools.
  • Mit Ausnahme von Navigieren sind Kontextvariablen auf den Kontext eines einzelnen Bildschirms beschränkt, wo sie ihren Namen erhalten. Außerhalb dieses Kontexts können Sie sie weder verwenden noch festlegen.
  • Kontextvariablen können jeden Wert enthalten, z.B. Zeichenfolgen, Zahlen, Datensätze und Tabellen.

Erstellen Sie Ihren hinzufügenden Computer mithilfe einer Kontextvariablen neu:

  1. Fügen Sie ein Texteingabe-Steuerelement mit dem Namen TextInput1 hinzu, und zwei Schaltflächen mit dem Namen Button1 und Button2.

  2. Legen Sie die Text-Eigenschaft von Schaltfläche1 auf Hinzufügen fest, und legen Sie die Text-Eigenschaft von Schaltfläche2 auf Löschen fest.

  3. Legen Sie die OnSelect-Eigenschaft einer Schaltfläche Hinzufügen auf diese Formel fest:

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

    Die bloße Existenz dieser Formel etabliert RunningTotal als eine Kontextvariable, die aufgrund des Operators + eine Zahl enthält. Sie können RunningTotal an beliebiger Stelle in diesem Bildschirm referenzieren. Immer, wenn der Benutzer diese App öffnet, hat RunningTotal einen Anfangswert von blank.

    Wenn der Benutzer zum ersten Mal die Schaltfläche Hinzufügen und UpdateContext auswählt, wird RunningTotal auf den Wert RunningTotal + TextInput1 gesetzt.

    OnSelect-Eigenschaft der Schaltfläche „Hinzufügen“.

  4. Legen Sie die OnSelect-Eigenschaft der Löschen-Schaltfläche auf 0 fest für diese Formel:

    UpdateContext( { RunningTotal: 0 } )

    Hier wird UpdateContext erneut mit der Formel UpdateContext( { RunningTotal: 0 } ) verwendet.

    OnSelect-Eigenschaft der Schaltfläche „Löschen“.

  5. Fügen Sie ein Beschriftungs-Steuerelement hinzu, und legen Sie dessen Text-Eigenschaft auf RunningTotal fest.

    Diese Formel wird automatisch neu berechnet und zeigt dem Benutzer den Wert von RunningTotal an, während sie sich auf Grundlage der vom Benutzer ausgewählten Schaltflächen ändert.

    Texteigenschaft von Beschriftung.

  6. Sehen sie sich eine Vorschau der App an, und Sie sehen die Rechenmaschine, wie sie oben beschrieben wurde. Geben Sie eine Zahl im Textfeld ein, und drücken Sie mehrmals die Schaltfläche Add. Kehren Sie anschließend zur Erstellung zurück, indem Sie die ESC-TASTE drücken.

    Steuerelement für die Texteingabe zeigt einen Wert an, und die Beschriftung zeigt die laufende Summe.

  7. Sie können den Wert einer Kontextvariablen beim Wechsel zu einem Bildschirm festlegen. Dies ist hilfreich, wenn Sie den „Kontext“ bzw. die „Parameter“ von einem Bildschirm an einen anderen übergeben möchten. Um diese Technik zu demonstrieren, fügen Sie einen Bildschirm ein, fügen Sie eine Schaltfläche ein und setzen Sie deren Eigenschaft OnSelect auf diese Formel:

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

    OnSelect-Eigenschaft einer Schaltfläche.

    Halten Sie die Alt-Taste gedrückt, während Sie diese Schaltfläche auswählen, um sowohl Screen1 anzuzeigen als auch die Kontextvariable RunningTotal auf -1000 zu setzen.

    Screen1 ist geöffnet.

  8. Um den Wert der Kontextvariablen anzuzeigen, wählen Sie das Menü Datei, und wählen Sie dann Variablen im linken Fensterbereich.

    Option „Variablen“ im Menü „Datei“.

  9. Um anzuzeigen, wo die Kontextvariable definiert und verwendet wird, wählen Sie sie aus.

    Liste, wo eine Variable verwendet wird.

Verwenden Sie eine Sammlung

Veranschaulichen wir abschließend das Erstellen der Rechenmaschine mithilfe einer Sammlung. Da eine Sammlung eine Tabelle enthält, die leicht geändert werden kann, legen wir fest, dass diese Rechenmaschine bei Eingabe der einzelnen Werte einen „Papierstreifen“ des Werts aufbewahrt.

Funktionsweise von Sammlungen:

  • Erstellen Sie Sammlungen mithilfe der ClearCollect-Funktion, oder legen Sie diese fest. Sie können stattdessen die Sammel-Funktion verwenden; jedoch erfordert diese eine andere Variable statt die alte lediglich zu ersetzen.
  • Eine Sammlung ist eine Art von Datenquelle und somit eine Tabelle. Verwenden Sie die Zuerst-Funktion, um auf einen einzelnen Wert in einer Sammlung zuzugreifen, und extrahieren Sie ein Feld aus dem resultierenden Datensatz. Wenn Sie einen einzelnen Wert mit ClearCollect verwendet haben, ist dies das Wert-Feld, wie in diesem Beispiel:
    First(VariableName).Value

Erstellen Sie Ihre Rechenmaschine mithilfe einer Sammlung neu:

  1. Fügen Sie ein Eingabefeld-Steuerelement mit dem Namen TextInput1 hinzu, und zwei Schaltflächen mit dem Namen Button1 und Button2.

  2. Legen Sie die Text-Eigenschaft von Schaltfläche1 auf Hinzufügen fest, und legen Sie die Text-Eigenschaft von Schaltfläche2 auf Löschen fest.

  3. Legen Sie die OnSelect-Eigenschaft einer Schaltfläche Hinzufügen auf diese Formel fest:

    Collect( PaperTape, TextInput1.Text )

    Die bloße Existenz dieser Formel etabliert PaperTape als eine Sammlung, die eine einspaltige Tabelle mit TextZeichenfolges enthält. Sie können PaperTape überall in dieser App referenzieren. Immer wenn ein Benutzer diese App öffnet, ist PaperTape eine leere Tabelle.

    Wenn diese Formel ausgeführt wird, fügt sie den neuen Wert am Ende der Sammlung hinzu. Da wir einen einzelnen Wert hinzufügen, platziert Collect diesen automatisch in einer einspaltigen Tabelle, und der Spaltenname lautet Wert, den Sie später verwenden werden.

    Schaltfläche „Hinzufügen“ für OnSelect-Eigenschaft.

  4. Damit der Papierstreifen gelöscht wird, wenn der Benutzer die Schaltfläche Clear auswählt, legen Sie die zugehörige OnSelect-Eigenschaft auf diese Formel fest:

    Clear( PaperTape )

    Schaltfläche „Löschen“ für OnSelect-Eigenschaft.

  5. Fügen Sie eine Bezeichnung hinzu, um die laufende Summe anzuzeigen, und legen Sie ihre Text-Eigenschaft auf folgende Formel fest:

    Sum( PaperTape, Value )

    Beschriftung der Texteigenschaft.

  6. Um die Rechenmaschine auszuführen, drücken Sie F5, um die Vorschau zu öffnen, geben Sie im Texteingabe-Steuerelement Zahlen ein, und wählen Sie Schaltflächen aus.

    Das Steuerelement „Texteingabe“ zeigt einen Wert an, und die Beschriftung zeigt die laufende Summe.

  7. Drücken Sie die ESC-TASTE, um zum Standardarbeitsbereich zurückzukehren.

  8. Fügen Sie zum Anzeigen des Papierstreifens ein Datentabellen-Steuerelement hinzu, und legen Sie dessen Items-Eigenschaft auf diese Formel fest:

    PaperTape

    Wählen Sie im rechten Fensterbereich Felder bearbeiten und dann Feld hinzufügen, wählen Sie die Spalte Wert und dann Hinzufügen, um sie anzuzeigen.

    Datentabelle, die die zur Sammlung hinzugefügten Werte anzeigt.

  9. Wählen Sie im DateimenüCollections (Sammlungen) aus, um die Werte in Ihrer Sammlung anzuzeigen.

    Vorschau der PaperTape-Sammlung.

  10. Fügen Sie zum Speichern und Abrufen der Sammlung zwei weitere Schaltflächensteuerelemente hinzu, und legen Sie deren Text auf Load und Save fest. Legen Sie die Eigenschaft OnSelect der Schaltfläche Load auf diese Formel fest:

    Clear( PaperTape ); LoadData( PaperTape, "StoredPaperTape", true )

    Sie müssen die Sammlung zuerst löschen, da Daten laden die gespeicherten Werte an das Ende der Sammlung anhängt.

    Schaltfläche „Laden“ für OnSelect-Eigenschaft.

  11. Legen Sie die OnSelect-Eigenschaft der Schaltfläche Save auf diese Formel fest:

    SaveData( PaperTape, "StoredPaperTape" )

    OnSelect Eigenschaft Schaltfläche Speichern.

  12. Drücken Sie erneut F5, um die Vorschau aufzurufen, geben Sie Zahlen im Textsteuerelement ein, und wählen Sie Schaltflächen aus. Wählen Sie die Schaltfläche Speichern aus. Schließen Sie die App, und laden Sie sie neu. Wählen Sie die Schaltfläche Load aus, um die Sammlung neu zu laden.