Záznamy v Pascale sa dajú označiť za predchodcov objektov. Sú to premenné, obsahujúce podradené premenné rôzneho typu.
Predstavte si, že máte uchovávať údaje o európskych krajinách. Napríklad záznam Slovensko typu TKrajina môže obsahovať dve celočíselné položky (Rozloha, PocetObyvatelov) a reťazcovú položku HlavneMesto.
Typ záznamu sa podľa zvyku začína písmenom T (napr. TBudova).
Máme dve možnosti - buď deklarujeme priamo premennú:
var Zaznam: record Vlastnost: integer; InaVlastnost: string; end;
alebo najprv definujeme nový typ a potom vytvoríme premennú tohto typu. Využijeme druhú možnosť.
program ludia;
type
TClovek = record
Meno, Priezvisko: string; {2 retazce}
RokNarodenia: word; {cele cislo}
end;
var
Ujo: TClovek;
...
Teraz jednotlivým položkám záznamu Ujo priradíme hodnoty. Potom ich môžeme vypísať. Oddeľovačom názvu záznamu a jeho položiek je bodka.
...
begin
Ujo.Meno := 'Jozko';
Ujo.Priezvisko := 'Mrkvicka';
Ujo.RokNarodenia := 1850;
write(Ujo.Meno, ' ', Ujo.Priezvisko);
writeln(' bol narodený r. ', Ujo.RokNarodenia);
end.
Jeden záznam môže obsahovať iný záznam. Napríklad človek má okrem už spomenutých údajov (meno, priezvisko, rok narodenia) aj adresu, ktorá obsahuje ulicu a mesto. Upravíme teda predchádzajúci kód.
type
TClovek = record
Meno, Priezvisko: string; {2 retazce}
RokNarodenia: word; {cele cislo}
Adresa: record {podradeny zaznam}
Ulica, Mesto: string;
end;
end;
Použitie je dosť jednoduché - záznamy a podzáznamy taktiež oddeľujeme bodkou.
Ujo.Adresa.Ulica := 'Neznama'; Ujo.Adresa.Mesto := 'Hraskovo';
Ak chceme nejaký záznam používať dosť veľa krát za sebou, nemusíme k nemu pristupovať vždy pomocou tvaru záznam.položka. Miesto toho môžeme použiť kľúčové slovo with.
with Ujo do begin Meno := 'Jozko'; Priezvisko := 'Mrkvicka'; RokNarodenia := 1850; Adresa.Ulica := 'Neznama'; Adresa.Mesto := 'Hraskovo'; end;