Следует отметить, что существует два основных способа задания операндов. Первый способ - позиционный показан в вышестоящем примере. Существует также способ указания с применением ключевых операндов, который позволяет обращаться к формальным операторам, как по именам так и по позиции. Ссылаясь на формальные операторы в определении MacMove можно также использовать следующий вызов:
MacMove(cmd=ScrollScreenUp,left=1)
УСЛОВНОЕ МАКРОРАСШИРЕНИЕ
Иногда возникают потребности изменять порядок команд макрорасширения внутри макроса.
Рассмотрим следующую программу:
Пример 4:
.
.
.
ScrollScreenLeft(1);
LiteralChar('-');
.
.
.
ScrollScreenDown;
ScrollScreenLeft(2);
LiteralChar('*');
.
.
.
В этом примере не только параметры, но и количество команд - переменная величина. Эта программа может быть записана следующим образом:
.
.
.
MACRO Mac1(p1,left,chr)
IF p1==1 THEN
ScrollScreenDown;
ENDIF
ScrollScreenLeft(2);
LiteralChar('*');
END