Sokszor eshet meg, hogy a feladat egy táblázat, több dimenziós tömb, vagy akár egy adatbázis készítése, kezelése.
A rekord tulajdonképpen egy "saját", változóknak adható típus, a már meglévő alap (esetleg szintén "saját") típusokból.
Egy rekord definiálása:
A rekordot a forráskódban még a változók előtt kell definiálni, hogy utána hozhassunk létre belőle tömböt.
1. sor: megadom a nevét(rekord).
2-3. sor: a rekordban tárolni kívánt adatok neve(Szöveg,Számok) és típusa(string,byte).
4. sor: lezárom a rekordot.
A rekord mezőire hivatkozni pl. értéket adni neki úgy tudok, hogy megadom a rekord nevét, majd egy pont után a mező nevét.
Ezzel a sorral egy 'N' elemű tömböt hoztam létre, aminek minden eleme egy-egy rekord. Tegyük fel, hogy az N=3-al és a tömb utolsó elemének "Szoveg" mezőjébe szeretném írni azt,hogy "Sajt".
Ezt egy értékadó utasítással tehetem meg, ami Pascalban valahogy így néz ki:
Esetünkben a változó az a "tomb" nevű tömb harmadik elemének "Szoveg" mezője és a bele írandó érték a "Sajt" string, ezért az értékadó utasításunk így fog kinézni:
Igen, lehetséges, sőt akár "egy tömbnyi rekord" is lehet egy rekord egyetlen mezője,ezeket például így hozhatjuk létre:
mezo_1_1:tipus;
mezo_1_2:tipus;
mezo_2_1:rekord_1;
mezo_2_2:array[1..N]of rekord_1;
Ha a "rekord_2" nevű rekord "mezo_2_1"-es mezőjének "mezo_1_2" nevű mezőjébe szeretnék írni, akkor az értékadó utasításom így fog kinézni:
Ha a "rekord_2" nevű rekord "mezo_2_2"-es tömbjének N-edik elemének "mezo_1_1" nevű mezőjébe szeretnék írni, akkor az értékadó utasításom így fog kinézni:
És ezt még ennél is sokkal tovább lehet bonyolítani, például ha a "rekord_2" nevű rekordból csinálunk egy "N" elemű tömböt.
A "tomb" nevű tömbnek az "N"-edik elemének "mezo_2_1" nevű mezőjének "mező_1_2" es mezőjébe ezzel az utasítással tudok írni
Ésígytovább,ésígytovább..
Ebben a nyelvben a struktúrák (Pascalban rekordok) definiálása más, de a felépítésük hasonló.
struct emberek
{
public string nev;
public int kor;
}
A struktúra elemeit itt kell létrehoznunk, ez igy néz ki:
emberek[] valtozo = new emberek[150];
Ezzel a sorral most létrehoztunk 150 embert, az első ember nevére pedig így tudunk hivatkozni:
valtozo[1].nev = "Sanyi";
Itt az első ember nevét beállítottuk "Sanyi"-ra, ez így működik a "kor"-ral (és bármilyen másik [Létrehozott] változóval) is;
valtozo[1].kor = 20;