Anweisungen

Anweisungen definieren die Aktionen, die das Skript durchführt, wenn es ausgeführt wird. Beispiele sind: Variablen erstellen, neue Werte zuweisen, Berechnungen durchführen und auf Basis einer bestimmten Bedingung eine logische Wahl treffen. Einige Anweisungen führen nur eine Aufgabe durch. Beispielsweise weisen sie einer Variablen einen Wert zu. Andere Anweisungen wirken sich auf den Ablauf des Skripts aus. Anweisungen werden in logischer Reihenfolge ausgeführt, aber diese Reihenfolge kann sich bei jeder Ausführung des Skripts ändern.

Anweisungen in Snippets bestehen aus einer oder mehreren Codezeilen. Eine einfache, einzeilige Anweisung kann beispielsweise eine Variable erstellen und ihr einen Wert zuweisen, wie folgt:

ASSIGN firstName = "Beowulf"

Eine komplexe Anweisung kann viele verschachtelte Zeilengruppen enthalten, wie folgt:

ASSIGN Names="Odin|Freya|Thor|Loki" ASSIGN SubCounter=1 FOREACH Name IN Names { IF Name = "Odin" | Name = "Freya" { ASSIGN NewNames[SubCounter]= "{Name}" ASSIGN SubCounter=SubCounter + 1 } }

Wenn ein Fehler im Snippet auftritt, kann die logische Ausführungsreihenfolge der Anweisungen im Snippet geändert werden. Wenn ein Fehler auftritt, wird die Snippet-Aktion sofort beendet. Die restlichen Anweisungen im Snippet werden nicht ausgeführt. Stattdessen wird eine Fehlermeldung mit einer Beschreibung des Fehlers in einer _ERR-Variablen gespeichert.

Anweisungsarten

Sie können die folgenden Arten von Anweisungen in Snippets verwenden:

  • Deklaration: Verwenden Sie Deklarierungsanweisungen, um neue Variablen, Objekte und Funktionen zu deklarieren bzw. zu erstellen.
  • Entscheidung: Verwenden Sie Entscheidungsanweisungen, damit der Snippet-Code auf Basis der von Ihnen festgelegten Bedingungen eine bestimmte Aufgabe ausführt. Sie können damit den linearen Ablauf der Ereignisse im Skript steuern.
  • Schleifen: Verwenden Sie Schleifen-Anweisungen, damit das Snippet eine oder mehrere Aufgaben wiederholt, bis die angegebene Endbedingung erfüllt ist.
  • Andere: Mit anderen Anweisungen können Sie Funktionen beenden, Ergebnisse beim Debuggen im Snippet Editor-Fenster anzeigen und Proxy-DLLs für Webdienste in Ihre Snippets einschließen.

Schlüsselwörter

Schlüsselwörter sind Befehle, die Anweisungen einleiten. Es handelt sich dabei um vordefinierte, reservierte Begriffe. Der Compiler erkennt das Schlüsselwort und führt dann die entsprechende Aktion aus.

Zu jeder Art von Anweisung, die Sie in einem Snippet verwenden können, gehört ein Schlüsselwort. Zum Deklarieren einer Variablen können Sie beispielsweise das Schlüsselwort ASSIGN verwenden. Für eine Auswahlweisung können Sie das Schlüsselwort IF verwenden. Die Anweisung und das Schlüsselwort haben denselben Namen. Eine IF-Anweisung verwendet also das IF-Schlüsselwort.

Die Schlüsselwörter in der Snippet-Sprache werden zusammen mit der jeweils zugehörigen Anweisung beschrieben. Eine vollständige Liste der Schlüsselwörter steht ebenfalls zur Verfügung.

Anweisungssyntax

Alle Anweisungen beginnen mit einem Schlüsselwort, gefolgt von Wörtern oder Codeabschnitten, die die Funktionsweise der Anweisung definieren. Jede Anweisung hat ihre eigene Syntax. Im Abschnitt mit der Syntax-Zusammenfassung auf dieser Seite wird beschrieben, wie die Syntax einer Anweisung zu lesen ist.

Einige Anweisungen erfordern Bedingungscode. Dieser Code legt eine Bedingung fest und definiert, was geschieht, wenn die Bedingung erfüllt bzw. nicht erfüllt wird. Bedingungscode kann aus einer oder aus mehreren Anweisungen bestehen. Er muss immer in geschweiften Klammern ({ }) eingeschlossen sein, auch wenn es sich nur um eine einzelne Zeile handelt. Bedingungscode wird auch als Block bezeichnet.

Wenn der Compiler auf eine neue Zeile oder eine offene geschweifte Klammer stößt, erkennt er das Ende einer Anweisung. Die Platzierung der geschweiften Klammern ist relativ flexibel. Alle folgenden Formate sind gültig:


IF x=1 {TRACE "one" } 

IF x=1 {TRACE "one" } IF x=2 {TRACE "two" }
IF x=1 {
  TRACE "one"
}

IF x=1
{
  TRACE "one"
}

Wenn der eingebettete Code mehr als eine Anweisung erfordert, beachten Sie die folgenden Regeln:

  • Platzieren Sie eine Anweisung pro Zeile.
  • Wenn mehrere Anweisungen erforderlich sind, platzieren Sie jede auf eine separate Zeile. Dadurch lässt sich der Code besser lesen.
  • Eingebettete Anweisungen, die ihren eigenen eingebetteten Code erfordern, können auf mehreren Zeilen stehen. Dabei sind die gültigen Formate mit geschweiften Klammern zu beachten.

Syntax-Zusammenfassung

Auf den Online-Hilfeseiten, auf denen die verschiedenen Anweisungen beschrieben werden, steht für jede Anweisungsart eine Syntax-Zusammenfassung zur Verfügung. Die Zusammenfassung zeigt das Format der jeweiligen Anweisung. Sie zeigt auch, welche Elemente erforderlich bzw. optional sind. Weiterhin ist aus der Zusammenfassung ersichtlich, wie die Elemente der Syntax verschachtelt werden müssen.

In der folgenden Tabelle werden die einzelnen Elemente in den Syntax-Zusammenfassungen beschrieben. Nicht alle Anweisungen enthalten alle Elemente. Achten Sie beim Lesen der Syntax-Zusammenfassung genau auf die Verschachtelung der Elemente.

Element

Details

COMMAND

Dies ist der Name des Schlüsselworts, das mit der Anweisung verwendet wird. Ersetzen Sie COMMAND durch das Schlüsselwort für die Anweisung, die Sie erstellen.

Bei Schlüsselwörtern wird nicht zwischen Groß- und Kleinschreibung unterschieden. Beispiel: FOREACH und foreach sind aus Sicht des Compilers identisch. Die Snippet-Aktion ändert jedoch alle Schlüsselwörter automatisch in Großbuchstaben, wenn Sie das Snippet das nächste Mal öffnen.

In der Online-Hilfe sind Schlüsselwörter immer in Großbuchstaben formatiert.

<required>

Spitze Klammern kennzeichnen ein erforderliches Element. Der Text innerhalb der Klammern gibt die Art des Elements an, wie z. B. Ausdruck, Variable oder Literalwert.

Beispielsweise enthält die Syntax-Zusammenfassung für eine FOREACH-Anweisung zwei erforderliche Elemente:

FOREACH <var> in <array> { ... [ BREAK]}

Die spitzen Klammern und der darin enthaltene Text dürfen nie wörtlich in einem Skript verwendet werden. Ersetzen Sie diesen Teil durch das beschriebene Codeelement. Ersetzen Sie <expression> beispielsweise durch einen Ausdruck wie i = 0.

[optional]

Eckige Klammern kennzeichnen ein optionales Element. Der Text innerhalb der Klammern gibt die Art des Elements an, das verwendet werden kann. Beispiel: In der Syntax-Zusammenfassung für IF ist die optionale Klausel ELSE in eckigen Klammern eingeschlossen: [ELSE { ... }.

Wenn Sie ein optionales Element verwenden, muss es an der Position stehen, die in der Syntax-Zusammenfassung relativ zu den anderen Elementen angegeben ist.

Die eckigen Klammern dürfen nie wörtlich in einem Skript verwendet werden.

{ ... } Geschweifte Klammern weisen darauf hin, dass ein Codeblock verwendet werden kann.

Geschweifte Klammern unterscheiden sich von den spitzen und eckigen Klammern, die in der Syntax-Zusammenfassung verwendet werden. Spitze und eckige Klammern sollen nicht in den Code aufgenommen werden, aber geschweifte Klammern müssen wörtlich im Code stehen. Die Auslassungspunkte (...) innerhalb der geschweiften Klammern sollten in der Syntax-Zusammenfassung jedoch durch Snippet-Anweisungen ersetzt werden.

Senkrechtstrich ( | )

Der Senkrechtstrich kennzeichnet eine Stelle im Code, an der Sie wählen können, welches Element in die Anweisung aufgenommen werden soll. Beispiel: In der Syntax-Zusammenfassung für die ASSIGN-Anweisung bedeutet der Senkrechtstrich, dass Sie wählen können, ob der Wert in doppelten Anführungszeichen aufgenommen werden soll:

ASSIGN <variable> = "<value>" | <value>

Die Erklärung der Syntax erläutert die Wahl.

Auslassungszeichen (...)

Das Auslassungszeichen kann zwei Bedeutungen haben:

  • Die Position des Codes in einem Block, wenn es zwischen geschweiften Klammern steht
  • Ein kontinuierliches Muster, wenn es mit einem Schlüsselwort zwischen eckigen Klammern steht

Die Syntax-Zusammenfassung für SELECT enthält ein Beispiel dafür, wie ein Auslassungszeichen verwendet wird, um ein kontinuierliches Muster anzugeben:

SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

[CASE ...] bedeutet, dass Sie so viele CASE-Klauseln wie nötig im festgelegten Muster hinzufügen können.

Die Syntax-Zusammenfassung für die IF-Anweisungen auf dieser Seite sieht beispielsweise folgendermaßen aus:

IF <expression> <{ ... }>

Aus dieser Zusammenfassung ist Folgendes ersichtlich:

  • Das Schlüsselwort lautet IF.
  • Das nächste Element ist ein erforderlicher Ausdruck.
  • Das letzte Element ist ein erforderlicher Codeblock, der in geschweiften Klammern eingeschlossen sein muss.

Die Syntax-Zusammenfassung für SWITCH-Anweisungen ist komplexer:

SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>

Aus dieser Zusammenfassung ist Folgendes ersichtlich:

  • Das Schlüsselwort lautet SWITCH.
  • Das nächste Element ist ein erforderlicher Variablenname.
  • Der Codeblock ist erforderlich und muss eine CASE-Klausel mit einem Literalwert enthalten.
  • Die erforderliche CASE-Klausel kann einen optionalen Codeblock enthalten.
  • Der Codeblock der SWITCH-Anweisung kann zusätzliche optionale CASE-Klauseln in dem Muster enthalten, das in der Zusammenfassung angegeben ist.
  • Der Codeblock der SWITCH-Anweisung kann eine optionale DEFAULT-Klausel mit einem optionalen Codeblock enthalten.