Makro soubory jsou uloženy ve dvou adresářích MAC a MACPOM. V adresáři MAC se ukládají tzv řídicí makra, která v podstatě pouze spouští hlavní makra uložená v adresáři MACPOM. Je tomu tak proto, že makra z adresáře MAC jsou pro uživatele zobrazena v tzv Katalogu maker. Tím je uživatel odstíněn od velkého množství maker v adresáři MACPOM.
Makro v adresáři MAC má mít definici jména, které bude zobrazeno v katalogu maker. Například:
const Program = "Mzdový manager";
U maker v adresáři MACPOM toto není nutné. V záhlaví makra se dále uvádí seznam připojených souborů (obvykle s příponou INC). Například:
Include("\Include\Const.Inc") Include("\Include\CStream.Inc") Include("\Include\CMacName.Inc") Include("\Include\CNumPolM.Inc")
Poté následuje seznam globálních konstant a proměnných. Například:
{ Čísla oken a menu } const wnSel = 10; const wnSetUp = 11; const wnPodm = 12; const mnuMain = 10; { Help kontexty } const hcNastav = 20008; const hcPodminky= 20009; const hcFormat = 20014; { Příkazy } const cmSelSes = 150; const cmPodm = 151; const cmSave = 152; const cmFormat = 153; const cmInsert = 154; { Proměnné } dim FNames : File; dim SesFName : String[80]; dim SesName : String[LenName];
Poté je obvyklé spuštění tzv Hlavní procedury:
call MainProc;
Pak už následují procedury tak, jak jsou v tom kterém makru potřeba. Například:
procedure InitFNames (dim F : File); dim Status : Byte; call OpenStream(F, "", cStRewrite, True, True, Status) if Status = cStRewrite then call GetAllUS(FNames); SSort(F, 1, 0, 25); endif endproc { InitFNames }