A Delphi SET típus megértése

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.

instagram viewer

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.

instagram story viewer