Rendes és felsorolt ​​adattípusok a Delphi számára

click fraud protection

Delphi programozási nyelv egy erősen gépelt nyelv példája. Ez azt jelenti, hogy minden változónak valamilyen típusúnak kell lennie. A típus lényegében egyfajta adat neve. Amikor deklarálunk egy változót, meg kell határoznunk annak típusát, amely meghatározza az értékhalmazt, amelyre a változó képes tartani, és a rajta végrehajtható műveleteket.

A Delphi számos beépített adattípusa, például az Integer vagy a Húr, finomítható vagy kombinálható új adattípusok létrehozásához. Ebben a cikkben megismerjük, hogyan hozhatunk létre egyéni rendi adattípusokat a Delphi.

Rendes típusok

A rendi adattípusok meghatározó jellemzői a következők: véges számú elemből kell állniuk, és valamilyen módon meg kell őket rendezni.

Az ordinális adattípusok leggyakoribb példái az egész számtípusok, valamint Char és logikai típus. Pontosabban: az Object Pascal 12 előre definiált rendtípust tartalmaz: egész szám, Shortint, Smallint, Longint, Byte, Word, bíboros, logikai, ByteBool, WordBool, LongBool és Char. A felhasználó által definiált rendtípusoknak két másik osztálya is létezik: felsorolt ​​típusok és alulrendezett típusok.

instagram viewer

Bármely rendi típusnál ésszerűnek kell lennie arra, hogy előre-vissza lépjen a következõ elemre. Például a valós típusok nem szokásosak, mert a hátra vagy előre mozgatni nincs értelme. A kérdés: "Mi a következő valós a 2.5 után?" értelmetlen.

Mivel definíció szerint minden értéknek az első kivételével egyedi elődje van, és az utolsó érték kivételével minden értéknek egyedi utódja van, több előre meghatározott funkciók szokásos típusokkal történő munka esetén:

Funkció Hatás
Ord (X) Az elem indexét adja meg
Pred (X) Ugrás az elem előtt felsorolt ​​elemhez a típusban
Succ (X) Ugrás az elem után felsorolt ​​elemhez a típusban
December (X; n) N elemet mozgat vissza (ha n hiányzik, akkor 1 elemet mozgat vissza)
Inc (X; n) N elemet mozgat előre (ha n hiányzik, az 1 elemet előre mozgatja)
Alacsony (X) Visszaadja a X soros adattípus tartományának legalacsonyabb értékét
Magas (X) Visszaadja a X soros adattípus tartományának legmagasabb értékét


Például a Magas (Byte) 255-et ad vissza, mert a Byte-típus legnagyobb értéke 255, a Succ (2) pedig 3-at ad, mert 3 a 2 utódja.

Megjegyzés: Ha megpróbáljuk használni a Succ-t, amikor az utolsó elemnél a Delphi generál egy futásidejű kivétel ha a tartomány ellenőrzése be van kapcsolva.

Delphi felsorolt ​​típus

Az ordinális típus új példájának elkészítésének legegyszerűbb módja az, ha elemből álló csoportot sorol fel valamilyen sorrendben. Az értékeknek nincs benne rejlő jelentésük, és rendszerezésük követi az azonosítók felsorolásának sorrendjét. Más szavakkal, a felsorolás az értékek listája.

típus TWeekDays = (hétfő, kedd, szerda, csütörtök, péntek, szombat, vasárnap);

Miután meghatároztuk a felsorolt ​​adattípust, kijelenthetjük, hogy a változók ilyen típusúak:

var SomeDay: TWeekDays;

A felsorolt ​​adattípusok elsődleges célja annak tisztázása, hogy milyen adatai vannak program manipulálni fog. A felsorolt ​​típus valójában csak egy rövid módja a szekvenciális értékek konstansokhoz való hozzárendelésére. Ezen nyilatkozatok alapján a kedd állandó állandó TWeekDays.

A Delphi lehetővé teszi számunkra, hogy felsorolt ​​elemekkel dolgozzunk együtt egy index segítségével, amely abból a sorrendből származik, amelyben azokat felsorolták. Az előző példában hétfőn TWeekDays a típusnyilatkozat indexe 0, kedden az index 1, és így tovább. Az előző táblázatban felsorolt ​​funkciók segítségével például a Succ-t (péntek) használhatjuk szombatra.

Most kipróbálhatunk valamit, például:

mert SomeDay: = Hétfő nak nek vasárnap csinálha SomeDay = kedd azután
ShowMessage ('kedden van!');

A Delphi Visual Component Library sok helyen felsorolt ​​típusokat használ. Például az űrlap helyzetét a következőképpen kell meghatározni:

TPpozíció = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter);

A Pozíciót (az Object Inspectoron keresztül) használjuk, hogy megkapjuk vagy beállítsuk a forma.

Aláírt típusok

Egyszerűen fogalmazva: egy alsó típusú típus képviseli az értékek egy részhalmazát egy másik rendi típusban. Általánosságban bármilyen alfajt definiálhatunk bármilyen ordinális típussal (beleértve egy korábban meghatározott felsorolt ​​típust) és kettős ponttal:

típus TWorkDays = Hétfő.. Péntek;

A TWorkDays itt tartalmazza a hétfő, kedd, szerda, csütörtök és péntek értékeket.

Ez minden - megy már felsorolni!

instagram story viewer