Verschachtelung von Elementvariablen und Rechnen mit Formeln

Nicht jedes Dialogelement muss zwangsläufig auch editierbar sein, sondern kann als Text wiederum Elementvariablen enthalten, aber nicht sich selbst.

Sie haben beispielsweise ein Auswahlfeld AUSWAHL1 mit dem Textinhalt:


Tierauswahl|Hund|Katze|Maus

Der spätere Benutzer kann hier zwischen Hund, Katze und Maus wählen.

Die Bezeichnungen der drei Tiere sollen nach der Auswahl sofort in anderen Dialogelementen erscheinen. Beispielsweise in FIXTEXT1. Somit kann folgender Text für FIXTEXT1 geschrieben werden:


Name des gewählten Tiers: <AUSWAHL1>

Dies hat zur Folge, dass nicht erst beim Ausdrucken bzw. Übertragen in den Buchungsdialog "<AUSWAHL1>" ausgetauscht wird gegen z.B. "Hund", sondern auch schon während der Dateneingabe des Benutzers im Dialog der Text des Dialogfeldes FIXTEXT1 sofort aktualisiert wird.

Ist das Ausgabefeld ein Zahlenfeld, so dürfen Sie Formeln schreiben. Diese werden bei Benutzung dann mathematisch aufgelöst:


(<BETRAG1>+<BETRAG2>)*<AUSWAHL3.2>

Hier werden somit die zwei Beträge der Betrags-Eingabefelder BETRAG1 und BETRAG2 addiert und mit einem Faktor multipliziert, der im Dropdown-Feld "AUSWAHL3" in Spalte 2 angegeben ist.

Mehr zum Thema Rechnen mit Formeln finden Sie im entsprechenden Kapitel zu Skripten. Der Programmteil, der die Formeln mathematisch auflöst, ist derselbe wie der, der bei Skripten zum Einsatz kommt.

Kompliziertere Verschachtelungen und Analysefunktion

Bei einem größeren Dialog mit vielen Elementvariablen kommt es in großer Zahl vor, dass Elementvariablen sich gegenseitig aufrufen. Es ist logischerweise nicht möglich, dass eine bestimmte Elementvariable sich selbst aufruft. Wenn Sie eine Elementvariable <FIXTEXT1> haben und als Text ebenfalls <FIXTEXT1> eingegeben haben, tritt solch ein Fall auf. Dieselbe nicht zulässige Situation kann aber auch auftreten, wenn dies auf den ersten Blick nicht direkt sichtbar ist:

Nach 20 Verschachtelungsebenen schlägt TEXTBUCH dann Alarm und unterdrückt weitere Verschachtelungen, weil dies sonst bis in Ewigkeit fortgesetzt würde. Wenn Sie sich nicht mehr auskennen, welches Dialogfeld den Inhalt welches anderen Feldes nutzt, rufen Sie nach Verwendung des Testmodus Optionen - Dialoganalyse auf. Es öffnet sich ein Texteditor mit immer derselben Textdatei Dialoganalyse.txt, die im Testmodus ständig überschrieben wird. Darin sehen Sie, in welcher Reihenfolge Elementvariablen ausgewertet werden und welche Elementvariable welche andere Elementvariable nutzt.

Ein gegenseitiges Aufrufen von Eingabefeldern ist jedoch schon erlaubt, wie dies beim Skontodialog praktiziert wird. Es gilt die Regel: Hat ein Eingabefeld den Eingabecursor (d.h. den Focus), dann wird nicht die hinterlegte Formel herangezogen, sondern der direkt vom Nutzer eingegebene Wert.