Hirdetés

Keresés

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

  • Lortech

    addikt

    válasz Wizardmon #1419 üzenetére

    A type kulcsszó saját változó típus létrehozására használható. A pascal beépített változó típusai pl integer, byte, real, array. Ezek felhasználásával lehet újakat alkotni. /Illetve csak bizonyos típusokat lehet felhasználni _valóban ''új''_ típus alkotásához. Egyébként csak átnevezés/
    Ez tipikusan olyan fogalom, amit példán keresztül lehet megérteni annak, aki még nem találkozott ilyennel.
    Tehát egy példa:
    a:
    type
    tomb: array[1..10] of byte;
    var
    t: tomb;

    ez egyenlő az alábbival:
    b:
    t: array[1..10] of byte;

    Az ''a'' esetben saját típust hozol létre a type kulcsszó után, tomb lett az új típusod neve, és ez a típus egy 10 elemű byte-array. Ezután a VAR kulcsszóval bevezetett változó deklarációs részben már úgy hivatkozhatsz az általad létrehozott típusra, mintha az a pascal egy beépített típusa lenne, tehát egy változónévhez hozzárendelheted. A b változatban ugyanazt leírtam, csak type nélkül, a kettő végeredményben megegyezik. Pascalban és a hozzá hasonló procedurális nyelvekben még nem annyira hangsúlyos a saját típusok létrehozása, és a lehetőségek is eléggé korlátozottak, inkább az átláthatóság és szemléletesség miatt van létjogosultsága mint funkcionalitásban. Egyelőre szerintem elég ennyi, ha valóban szükséged lesz a használatára, akkor már tudni fogod vsz.

    [Szerkesztve]

  • VladimirR

    nagyúr

    válasz Wizardmon #1419 üzenetére

    ezzel definialsz uj adattipust, a mar meglevokbol
    mint irtad, lehet felsorolt, tomb, rekord, de lehet barmilyen adattipus

    tegyuk fel, hogy neked olyan adattipusra van szukseged, amiben egyutt tudod tarolni valakinek az adatait, mint pl nev, cim, szuletesi datum, suly, magassag
    ehhez a legjobb, ha csinalsz egy rekord-ot es minden szemely adatait egy kulon rekordban tarolod

    type adatlap=record
      nev : string[80];
      cim : string[80];
      szul_dat : string[8];
      szuly : real;
      magassag : byte;
    end;


    ezzel csak az adattipust hoztad letre, a valtozot meg nem, azt itt is meg kell tenni, pl.:

    var user1, user2 : adatlap;

    vagy lehet az adatlapokat tomb-ben tarolni:

    var users : array[1..100] of adatlap;

    elobbi esetben egyszeruen user1.nev, user2.cim formaval hivatkozol a rekord elemeire, utobbiban pedig users[1].nev, users[2].cim formaban

    de ettol egyszerubb pelda, hogy a fentebb hasznalt 80 karakter hosszu szoveg tarolasara alkalmas tipust hozunk letre:

    type s80 = string[80];

    amit aztan igy tudsz hasznalni:

    var s : s80;

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