Struktura makro programu

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 } 

Základní pojmy