Stránky neboli dlhú dobu aktualizované. Môžu obsahovať nepresné alebo neaktuálne informácie.
Používaním tejto stránky súhlasíte s používaním cookies.
Hľadanie
Rozšírené vyhľadávanie
TOP 7 - stránky
Napaľovacie programy - 104 880x
Free Pascal - Úvod - 58 552x
Free Pascal - Začiatky - 38 410x
Lazarus - Kreslenie - 36 051x
Internetové prehliadače - 32 239x
3D grafické programy - 31 575x
Free Pascal - Podmienky - 29 709x
Nové v diskusii
Free Pascal - Cykly - štvrtok 31.3.
Lazarus - Začíname - piatok 25.3.
Anketa - streda 2.3.
Navigácia: Programovanie > Free Pascal - Záznamy

Free Pascal - Záznamy

Záznamy v Pascale sa dajú označiť za predchodcov objektov. Sú to premenné, obsahujúce podradené premenné rôzneho typu.

Príklad na začiatok

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).

Vytvorenie a používanie

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.

Podradené záznamy

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';

Urýchlený prístup

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;
Hodnotenie
1 2 3 4 5 (ako v škole)
Priemerná známka: 2,31
Diskusia k tejto stránke
Prejsť do diskusie»
2005-2012, Matúš Sulír, matus.sulir (zav) gmail bodka com. Gen.: 0,0622 s. Valid XHTML, CSS.