Difference between revisions of "Record/hu"
(magyar nyelvű oldal létrehozása) |
(No difference)
|
Revision as of 16:41, 21 May 2011
│
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:
<delphi>
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;
</delphi>
Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el:
<delphi>
a.csaladNev := 'Kovacs'; a.keresztNev := 'Istvan'; a.telefonSzam := 789534;
</delphi>
A pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál:
<delphi>
a.cim.iranyitoSzam := 1234; a.cim.varos := 'Peldavaros'; a.cim.utca := 'Kossuth Lajos utca'; a.cim.hazSzam := 56;
</delphi>
Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a with szerkezet használata:
<delphi>
with a do begin csaladNev := 'Kovacs'; keresztNev := 'Istvan'; telefonSzam := 789534; end;
</delphi>
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ú:
<delphi>
var a, b: TSzemely; begin { értékmegadások az 'a' rekordhoz } ... ... b := a; end;
</delphi>
A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására.