Verwenden von bedingten Ausdrücken in Makros

Sie können einem Makro bedingte Ausdrücke hinzufügen. Verwenden Sie hierfür einen Befehl, der in DIESEL (Direct Interpretively Evaluated String Expression Language) geschriebene Makroausdrücke einführt.

Format:

$M=expression

Durch Einleitung eines Makros mit $M= erkennt die Anwendung eine Zeichenfolge als DIESEL-Ausdruck. Dieser Ausdruck ist somit ein DIESEL-Ausdruck. Im folgenden Beispiel wird einen bedingungsabhängigen Ausdruck in einem Makro definiert:

FILLMODE $M=$(-,1,$(getvar,fillmode))

Das Makro schaltet die Systemvariable FILLMODE ein bzw. aus, indem der aktuelle Wert von FILLMODE von 1 subtrahiert und der resultierende Wert an die Systemvariable FILLMODE zurückgegeben wird. Mit dieser Methode können Sie Systemvariablen umschalten, die nur die Werte 1 und 0 annehmen können.

Beenden von Makros mit bedingten Ausdrücken

Wenn Sie die Makroprogrammiersprache DIESEL für „if-then“-Tests verwenden, sollten ggf. nicht alle Bedingungen mit dem abschließenden Leerzeichen bzw. Semikolon beendet werden (welche das Drücken der EINGABETASTE auslösen). Fügen Sie zu diesem Zweck am Ende des Makros ^Z hinzu. Auf diese Weise fügt die Anwendung nicht automatisch ein Leerzeichen (EINGABETASTE) am Ende des Makroausdrucks hinzu.

Das hier verwendete ^Z ist wie andere Steuerzeichen in Befehlen eine Zeichenfolge, die sich aus ^ (einem Caret) und Z zusammensetzt und nicht der Tastenkombination Strg+Z (oder Control-Z unter Mac OS) entspricht.

In den folgenden Beispielen wird ^Z als Abschlusszeichen für das Makro verwendet.

^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _mspace )^Z
^C^C$M=$(if,$(=,$(getvar,tilemode),0),$S=mview _pspace )^Z

Würden diese Makros nicht mit ^Z enden, würde die Anwendung automatisch ein Leerzeichen (EINGABETASTE) hinzufügen und den zuletzt eingegebenen Befehl wiederholen.