Információk a feltételes kifejezések makrókban történő használatáról

Feltételes kifejezéseket is adhat a makrókhoz egy parancs használatával, amely a DIESEL (Direct Interpretively Evaluated String Expression Language) nyelven írt makrókifejezéseket vezeti be.

Ennek formátuma:

$M=expression

A fenti kifejezésben a $M= azt jelzi az alkalmazásnak, hogy a karakterláncot DIESEL-kifejezésként kell kiértékelni, a kifejezés pedig a DIESEL nyelvű kifejezés. A következő példa egy feltételes kifejezést definiál egy makróban:

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

A makró be- és kikapcsolja a FILLMODE rendszerváltozót oly módon, hogy kivonja a FILLMODE aktuális értékét 1-ből, és az eredményt a FILLMODE rendszerváltozónak adja értékül. Ezt a módszert olyan rendszerváltozók átkapcsolására használhatja, amelyek érvényes értékei az 1 és a 0.

Feltételes kifejezéseket tartalmazó makrók lezárása

Ha a DIESEL karakterláncnyelvet használja a „ha-akkor” vizsgálatok végrehajtására, akkor feltételek szerepelhetnek ott, ahol nem szeretné a normál megszakító szóközt vagy pontosvesszőt (amely Enter-t eredményez). Ha beírja a ^Z karakterláncot a makró végére, akkor az alkalmazás automatikusan nem ad hozzá szóközt (Enter) a makrókifejezés végéhez.

Akárcsak más vezérlőkarakterek esetén a parancsokban, az itt használt ^Z karakterlánc a ^ (kalap) és Z karakterből áll, és nem egyenértékű a Ctrl+Z (vagy Mac OS rendszeren a Control-Z) billentyűkombináció lenyomásával.

A következő példákban a ^Z kód zárja le a makrót.

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

Ha ezek a makrók nem végződnének a ^Z karakterlánccal, akkor az alkalmazás automatikusan hozzájuk adna egy-egy szóközt (Enter), amely megismételné a legutóbb bevitt parancsot.