Sobre o uso de expressões condicionais em macros

Você pode utilizar expressões condicionais em uma macro ao usar um comando que introduz expressões de macro gravadas em DIESEL (Direct Interpretively Evaluated String Expression Language).

O formato é:

$M=expression

Iniciando a macro com $M= avisa o aplicativo para avaliar uma sequência como uma expressão DIESEL e que essa expressão é uma expressão DIESEL. O exemplo a seguir define uma expressão condicional em uma macro:

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

A macro alterna a variável de sistema FILLMODE em ativada e desativada, subtraindo o atual valor de FILLMODE de 1 e retornando o valor resultante à variável de sistema FILLMODE. Você pode utilizar este método para alternar as variáveis de sistemas das quais os valores válidos são 1 ou 0.

Finalização de macros que contêm expressões condicionais

Se você utilizar uma linguagem de sequência de caracteres DIESEL para executar testes "if-then", podem ocorrer situações com espaço de terminação e ponto-e-vírgula indesejados (resultando em Enter). Se você adicionar ^Z ao final da macro, o aplicativo não adiciona um espaço automaticamente (Enter) ao final da expressão da macro.

Como acontece com outros caracteres de controle nos comandos, o ^Z utilizado aqui é uma sequência de caracteres composta de ^ (um acento circunflexo) e Z e não é equivalente a pressionar Ctrl+Z (ou Control-Z no Mac OS).

Nos exemplos a seguir, ^Z é utilizado como um terminador de macro.

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

Se essas macros não terminassem com ^Z, o aplicativo adicionaria automaticamente um espaço (Enter), repetindo o último comando inserido.