Új hozzászólás Aktív témák

  • Jester01

    veterán

    válasz Wizardmon #1443 üzenetére

    A variálható rekord az olyan mint Pom-pom: bámulatosan tudja változtatni az alakját. :D

    Tulajdonképpen több rekord egyben, amihez van egy mező ami megmondja melyik típusú is valójában. Igazából csak azért jó, mert takarékoskodik a memóriával, mert az egymást kizáró részeket ugyanarra a memóriacímre teszi. (MOD: plusz a különböző adatokat fix méretben tárolja, a legnagyobbnak megfelelő helyen)
    Vegyünk egy hülye példát: legyen egy ''alakzat'' rekord amiben szakaszok és körök adatait akarod tárolni.

    type
    AlakTipus = (kor, szakasz);
    Alakzat = record
    x, y: integer;
    case tipus: AlakTipus of
    kor: (sugar: integer);
    szakasz: (x2, y2: integer);
    end;
    end;

    Ez tulajdonképpen 2 rekord, szakasz esetén (x, y, x2, y2) kör esetén pedig (x, y, sugar) tagokkal. A sugar és az x2, y2 tagok átfedik egymást, egyszerre nem lehet őket használni. Azt, hogy melyik van érvényben a tipus mondja meg.

    cucka-hoz hasonlóan én is régen pascaloztam
    MOD: zárójelek

    [Szerkesztve]

Új hozzászólás Aktív témák