Interpreter

Aus bafbal.de
Zur Navigation springen Zur Suche springen

Im Interpreter sind nur wenige Prozeduren und Funktionen direkt implementiert. Die meisten Routinen finden sich in den Modulen.

Values

Im Gegensatz zu Variablen ist der Gültigkeitsbereich von Values auf das jeweilige (Primär- oder Sub-) Kommando beschränkt. Values haben Nummern, während Variable Namen haben.

#val_set

Setzt der Wert für einen Value.

Parameter

  • cnd (condition) - Der Value wird nur dann gesetzt, wenn cnd=Y ist; Funktionen werden ersetzt
  • ie (if empty) - Wenn der Wert von z leer ist, dann wird ersatzweise der Wert von ie verwendet; ähnlich NVL bei SQL; Funktionen werden ersetzt
  • n - Nummer des Values
  • r (rights) - Der Value wird nur dann gesetzt, wenn die Rechte vorliegen; default ist frm
  • z - Wert der Variablen, Funktionen werden ersetzt, default ist ein leerer String

Beispiel

#val_set   n=7   z=$GUID()
#val_set   n=1   z=$GUID()   r=admin

#val_clearall

Löscht alle Values. Wird selten benötigt, da die Values mit Ende des (Primär- oder Sub-) Kommandos ohnehin ihre Gültigkeit verlieren.

Parameter

(keine)

Beispiel

#val_clearall

$VAL()

Gibt den Inhalt eines Values zurück

Parameter

  1. Nummer des Values

Beispiel

#cout c=$VAL(3)

Log

#log

Schreibt einen Text in das Log.

Parameter

  • c ("caption") - Text, der in das Log geschrieben wird; Funktionen werden ersetzt; default ist #log, Parameter c nicht gesetzt
  • y - Typ des Log-Eintrags; default I. Vorgesehen sind die folgenden Typen:
    • E - Error
    • I - Info
    • W - Warning

Beispiel

#log   y=W   c="Ermittelte Summe untypisch gering"

#logi

Schreibt einen Text als Info in das Log.

Parameter

Die Prozedur #logi hat keine benannten Parameter. Der komplette Text nach dem #logi und dem folgenden Leerzeichen wird in das Log geschrieben; Funktionen werden ersetzt.

Beispiel

#logi   Berechnung beendet



Kommandos

#tab_new

Öffnet einen neuen Tab im BAF-Client und führt dort ein Kommando aus.

Parameter

  • c ("caption") - Beschriftung des neuen Tabs
  • cmd ("command") - Kommando, das im neuen Tab ausgeführt wird

Beispiel

  1. tab_new c=xuser cmd=xuser($PAGE(link))

$CP()

("command parameter") - Greift auf einen Parameter des Kommandos zu.

Parameter

  1. Nummer des Parameters. 0-relativ, der erste Parameter hat somit die Nummer 0.

Beispiel

#page_fill  d=$CP(1)

$ICP()

("is command parameter") - Vergleicht den Parameter des Kommandos mit dem im zweiten oder weiteren Parameter angegebenen Wert; Unterschiede in Groß- und Kleinschreibung werden dabei nicht berücksichtigt. Gibt Y zurück, wenn der Parameter mit einem der Vergleichswerte übereinstimmt.

Wird fast immer in Verbindung mit Verzweigungsbedingungen verwendet.

Parameter

  1. Nummer des Parameters. 0-relativ, der erste Parameter hat somit die Nummer 0.
  2. und Folgende: Vergleichswerte

Beispiele

~ $ICP(0,ex)
~ $ICP(0,ex,im,new)

Internes

Die folgenden Funktionen werden für interne Zwecke verwendet:

  • $INTER() - Name des Interpreters
  • $HISTSQL() - SQL-Statement für den History-Dialog
  • $HISTTABLE() - Tabellenname der History-Tabelle
  • $HISTMEMOFIELD() - Feldname des Memo-Feldes für den History-Dialog