Práce s daty

Za DATA v užším smyslu považujeme množinu hodnot definovaných příkazem Data.

Příklad datových tabulek v makru:

Pro celé makro existuje pouze jeden globální ukazatel hodnoty v datech. Po spuštění makra ukazuje tento ukazatel na první hodnotu v první tabulce dat. V našem příkladu je to hodnota 788. Příkazem Read budou hodnoty čteny v pořadí:

Příkazem Restore lze ukazatel dat umístnit na první hodnotu libovolné tabulky dat. Například Restore 11 umístní ukazatel dat na hodnotu 999. Restore 12 hledá nejbližší vyšší tabulku (protože tabulka s číslem 12 neexistuje) a umístní proto ukazatel dat na první hodnotu v tabulce 20 tedy: "ABC 1".

Pohodlnější způsob průchodu po tabulce dat nabízí funkce _DFirst a _DNext. Tyto funkce nikterak neovlivní globální ukazatel hodnoty v datech používaný příkazy Restore a Read.

Příklad:

data 10: 788,566,999,0;
data 11: 999,566,888,0;
data 20: "ABC 1","ABC 2","ABC 3","ABC 4","ABC 5", "";

call Test2;
Exit

procedure Test2
    dim Num : Longint;
    dim Pos : Longint;

    if _DFirst(10, Pos, Num) then
        repeat
            Trace(Num);
        until _DNext(10, Pos, Num) = false;
    endif
endproc