Record/hu
│
Deutsch (de) │
English (en) │
español (es) │
suomi (fi) │
français (fr) │
magyar (hu) │
polski (pl) │
português (pt) │
русский (ru) │
Rekord
A rekord (record) típus egy magasan szervezett adatszerkezet Pascal-ban.
Míg az egyszerű adatszerkezetek, mint a tömb, vagy a set, egyforma típusú elemekből állnak, addig a rekord többfajta elemből állhat, és nagy bonyolultságú lehet. A rekord egyes részeit mezőknek nevezzük.
Egy rekordnak tekinthető például a való életben a telefonkönyv névjegyzékének egy eleme. Ebben az esetben egy adott rekord egy ember nevét, címét, telefonszámát tartalmazza. Már itt jól látható, hogy különböző típusú mezők vannak felhasználva: a név String típusú, a telefonszám Integer típusú, a cím pedig lehet String vagy szintén rekord típusú - ebben az esetben a címet tovább finomíthatjuk irányítószám, utca, házszám, lépcsőház, stb. formában.
Lássuk a telefonkönyves példánkat a gyakorlatban:
type
TCim = record
iranyitoSzam, hazSzam: Integer; { Irányító- és házszám mezők. }
varos, utca: String; { Város- és utcanév mezők. }
end;
TSzemely = record
csaladNev, keresztNev : String; { A személy családnevét, és keresztnevét tartalmazó mezők. }
cim: TCim; { A személy címét tartalmazó mező - szintén rekord. }
telefonSzam: Integer; { A telefonszámot tartalmazó mező. }
end;
Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el:
a.csaladNev := 'Kovacs';
a.keresztNev := 'Istvan';
a.telefonSzam := 789534;
A pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál:
a.cim.iranyitoSzam := 1234;
a.cim.varos := 'Peldavaros';
a.cim.utca := 'Kossuth Lajos utca';
a.cim.hazSzam := 56;
Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a with szerkezet használata:
with a do
begin
csaladNev := 'Kovacs';
keresztNev := 'Istvan';
telefonSzam := 789534;
end;
A rekordot a program egy önálló entitásként kezeli, ezért a rekordok másolhatók - feltéve, hogy a két változó azonos típusú:
var
a, b: TSzemely;
begin
{ értékmegadások az 'a' rekordhoz }
...
...
b := a;
end;
A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására.