Az egyik Delphi nyelv olyan funkciók, amelyek a többi modern nyelven nem találhatók, a halmazok fogalma.
Delphibeállított típus ugyanazon értékek gyűjteménye rendi típus.
A halmaz meghatározása a készlet kulcsszó:
A halmaztípusokat általában alsó szakaszokkal határozzuk meg.
A fenti példában a TMagicNumber egy egyedi al-típusú, amely lehetővé teszi a TMagicNumber típusú változók számára, hogy 1 és 34 közötti értéket kapjanak. Egyszerűen fogalmazva: egy alsó típusú típus képviseli az értékek egy részhalmazát egy másik rendi típusban.
A beállított típus lehetséges értékei az alaptípus összes részhalmazát tartalmazzák, beleértve az üres halmazt is.
A halmazok korlátozása az, hogy legfeljebb 255 elemet tudnak tárolni.
A fenti példában a TMagicSet halmaztípus a TMagicNumber elemek halmaza - egész számok 1-től 34-ig.
A nyilatkozat TMagicSet = a TMagicNumber halmaza megegyezik a következő nyilatkozattal: TMagicSet = 1..34 sorozat.
Típusváltozók beállítása
A fenti példában a változók emptyMagicSet, oneMagicSet és anotherMagicSet a TMagicNumber halmazai.
Nak nek rendeljen értéket egy meghatározott típusú változóhoz használja a szögletes zárójeleket, és sorolja fel a halmaz összes elemét. Mint a:
1. megjegyzés: minden halmaztípus-változó képes tárolni az üres halmazt, amelyet [] jelöl.
2. megjegyzés: Az elemek sorrendjének nincs értelme, és nincs értelme sem, ha egy elemet (értéket) kétszer be kell építeni a halmazba.
Az IN kulcsszó
Annak tesztelése, hogy van-e egy elem benne van a készletben (változó) használja a BAN BEN kulcsszó:
Állítsa be az operátorokat
Ugyanúgy, mint két számot összeadni, akkor rendelkezhet egy készlettel, amely két halmaz összege. A készletekkel az eseménynek több szereplője van:
- + visszaadja a két készlet egységét.
- - visszaadja a két halmaz különbségét.
- * visszaadja a két metszéspontját.
- = visszatér igaz, ha két halmaz egyenlő - ugyanazzal az elemmel rendelkezzen.
- <= igaz, ha az első halmaz a második halmaz részhalmaza.
- > = visszatér igaz, ha az első halmaz a második halmaz szuperhalmaza.
- <> igaz, ha két halmaz nem azonos.
- Az IN értéke igaz, ha egy elem szerepel a készletben.
Íme egy példa:
Végezzük el a ShowMessage eljárást? Ha igen, mi fog megjelenni?
Itt van a DisplayElements funkció megvalósítása:
Tipp: igen. Megjelenítve: "18 | 24 |".
Egész számok, karakterek, logikai értékek
Természetesen a beállított típusok létrehozásakor nem korlátozódik az egész számokra. A Delphi rendtípusok tartalmaznak karakter és logikai értékeket.
Annak megakadályozása érdekében, hogy a felhasználók gépeljenek alfa-kulcsokat, adja hozzá ezt a sort a onkeypress szerkesztési vezérlő
Beállítással szerepel
A Delphi kódban általánosan használt forgatókönyv a felsorolt és a beállított típusok keverése.
Íme egy példa:
Kérdés: megjelenik az üzenet? Válasz: nem :(
Beállítja a Delphi vezérlő tulajdonságai között
Ha a „félkövér” betűtípust kell alkalmaznia a TEdit vezérlőkben használt betűtípusra, akkor használja az Object Inspector vagy a következő kódot:
A Betűtípus stílus tulajdonság meghatározott típusú tulajdonság! A következőképpen határozza meg:
Tehát egy felsorolt TFontStyle típust használunk alaptípusként a beállított TFontStyles típushoz. A TFont osztály Style tulajdonsága TFontStyles típusú - tehát egy set type tulajdonság.
Egy másik példa a MessageDlg funkció eredménye. Az MessageDlg függvényt egy üzenődoboz előhívására és a felhasználó válaszának megszerzésére használják. A funkció egyik paramétere a TMsgDlgButtons típusú Buttons paraméter.
A TMsgDlgButtons definíciója a következőkből áll: (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).
Ha egy üzenetet jelenít meg a felhasználó számára, amely tartalmazza az Igen, az OK és a Mégse gombokat, és végrehajtani akar egy kódot, ha az Igen vagy az OK gombra kattintottak, akkor a következő kódot használhatja:
Végszó: a készletek nagyszerűek. A készletek zavarónak tűnhetnek a Delphi kezdő, de amint elkezdi használni a set típusú változókat, rájön, hogy sokkal többet szolgáltatnak, mint az elején hangzott.