Difference between revisions of "Record/hu"
(magyar nyelvű oldal létrehozása) |
m (Text replace - "delphi>" to "syntaxhighlight>") |
||
Line 13: | Line 13: | ||
Lássuk a telefonkönyves példánkat a gyakorlatban: | Lássuk a telefonkönyves példánkat a gyakorlatban: | ||
− | < | + | <syntaxhighlight> |
type | type | ||
TCim = record | TCim = record | ||
Line 25: | Line 25: | ||
telefonSzam: Integer; { A telefonszámot tartalmazó mező. } | telefonSzam: Integer; { A telefonszámot tartalmazó mező. } | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el: | Minden egyes mezőt a rekordnév utáni pont operátorral érhetünk el: | ||
− | < | + | <syntaxhighlight> |
a.csaladNev := 'Kovacs'; | a.csaladNev := 'Kovacs'; | ||
a.keresztNev := 'Istvan'; | a.keresztNev := 'Istvan'; | ||
a.telefonSzam := 789534; | a.telefonSzam := 789534; | ||
− | </ | + | </syntaxhighlight> |
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 pont operátor használatával mélyebb szintekre is eljuthatunk a rekordban, például a cím megadásánál: | ||
− | < | + | <syntaxhighlight> |
a.cim.iranyitoSzam := 1234; | a.cim.iranyitoSzam := 1234; | ||
a.cim.varos := 'Peldavaros'; | a.cim.varos := 'Peldavaros'; | ||
a.cim.utca := 'Kossuth Lajos utca'; | a.cim.utca := 'Kossuth Lajos utca'; | ||
a.cim.hazSzam := 56; | a.cim.hazSzam := 56; | ||
− | </ | + | </syntaxhighlight> |
Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a [[With|with]] szerkezet használata: | Egy másik módszer, amely leegyszerűsíti a mezők értékadását, a [[With|with]] szerkezet használata: | ||
− | < | + | <syntaxhighlight> |
with a do | with a do | ||
begin | begin | ||
Line 53: | Line 53: | ||
telefonSzam := 789534; | telefonSzam := 789534; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
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ú: | 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ú: | ||
− | < | + | <syntaxhighlight> |
var | var | ||
a, b: TSzemely; | a, b: TSzemely; | ||
Line 66: | Line 66: | ||
b := a; | b := a; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására. | A rekordokat széleskörűen használják a Pascal-ban logikailag összefüggő adatok csoportosítására. |
Revision as of 14:54, 24 March 2012
│
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.