Sign in Join
Wiki copytemporary

Record/hu

Deutsch · English · Español · Français · Magyar · Polski · Português · Suomi · Русский

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:

pascal
 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:

pascal
  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:

pascal
  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:

pascal
 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ú:

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


From the Free Pascal wiki, page "Record/hu", as it stood on 2020-02-25 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.