Platzhalter

Platzhalter oder auch Identifizierer genannt, stellen den Kern von Programmiersprachen dar. Sie stehen, wie in der Mathematik als namentliches Pendant zu einem an anderer Stelle gespeicherten Wert. Mit ihrer ersten Zuweisung werden sie definiert und ein Speicherplatz für ihren Inhalt reserviert. In der Folge wird bei Berechnungen, Ausdrücken und Befehlen, in denen sie verwendet werden, der jeweils dann gültige Wert eingesetzt. Der substituierende Wert kann sich während des Programmablaufs beliebig ändern, sogar der Typ einfacher Variablen ist nicht zwingend konstant.

In GDL unterscheiden wir zwei prinzipielle Arten von Platzhaltern: Lokale, zur Laufzeit des Programms definierte Variablen und (lokale und globale) Parameter, die in ihrer Verwendung aber sehr ähnlich sind.

Namensgebung

Der Name eines Platzhalters muss mit einem Buchstaben, einer Welle („~“) oder dem Unterstrich („_“) beginnen und aus maximal 255 Zeichen (Buchstaben, Zahlen, „~“ oder „_“) bestehen. Groß- und Kleinschreibung werden identisch behandelt („_var“ ist „_VaR“ ist „_VAR“).

Der Name darf nicht identisch mit reservierten Namen und Befehlsworten sein. Die Namen und Typen globaler Parameter sind vordefiniert.

Siehe auch GDL Style Guide (EN).

Typen

Auch wenn die Parameterliste eines Objektes etwas anderes suggeriert, gibt es in GDL nur 2 unterschiedliche Typen für Platzhalter: Numerisch und string. Ab ArchiCAD® 9 werden die numerischen intern zwar in integer und real unterschieden, was jedoch nicht so streng genommen wird. Siehe dazu „Besonderheiten“ unter „Ausdrücke“.

Arrays

Unter einem Namen können mehrere Werte gespeichert werden, wenn der Platzhalter als Array (Feld- oder Tabellenvariable) definiert wurde. Die Definition als Array erfolgt für:
– Globale Parameter ggf. per Definition durch ArchiCAD® selbst
РLokale Parameter eines Objektes durch den zugh̦rigen Schalter in der Parameterliste
– Lokale Variablen durch den DIM-Befehl.

Die einzelnen Werte werden durch ein oder zwei Koordinaten (in eckigen Klammern hinter dem Variablennamen) in der „Datentabelle“ spezifiziert, die Spalte und ggf. Zeile angeben.