Tato skupina příkazů umožňuje řízení překladu makra podle nadefinovaných slov:
{#DEFINE Test} {#IFDEF Test} ..A {#IFDEF Test_1} ..C ..C ..C {#ENDDEF} ..A {#ELSEDEF} ..B ..B {#ENDDEF}
V uvedeném příkladě nebude blok "B" a "C" přeložen. Přitom platí, že v těchto tzv "vyloučených blocích" je potřeba korektně zapisovat další potřebné direktivy překladu. Jinými slovy: počet příkazů {#IFDEF}, {#IFNDEF} a {#ENDDEF} se musí rovnat i ve vyloučených blocích! Příkazy podmíněného překladu se zapisují do složených závorek.
{#DEFINE} | zavedení řídícího slova |
{#UNDEF} | zrušení řídícího slova |
{#IFDEF} | podmínka větvení programu |
{#IFNDEF} | podmínka větvení programu |
{#ELSEDEF} | doplněk k větvení programu |
{#ENDDEF} | ukončení podmínky překladu |
V různých konfiguracích programu jsou předdefinovány různá slova řídicí překlad:
MSDOS | prostředí MSDOS (Pam4) |
WINDOWS | prostředí Windows (Pam5) |
CP852 | kódová stránka Latin II 852 (Pam4) |
VPRGxxxxx | verze programu bez rozšíření (př.:VPRG_7.1203) (Pam4) |
VMACxxxxx | verze makrojazyka bez rozšíření (př.:VMAC_8.0214) (Pam4) |
FILER | lokální databáze BT-Filer (Pam4) |
BTRIEVE | síťová databáze Btrieve (Pam4) |
CS | český překlad (Pam4) |
SL | slovenský překlad (Pam4) |