Delphi SET-tüübi mõistmine

click fraud protection

Üks neist Delfi keel funktsioone, mida teistes tänapäevastes keeltes ei leidu, on komplektide mõiste.

Delphi omadkomplekti tüüp on samade väärtuste kogum ordinaalne tüüp.

Komplekt määratletakse kasutades komplekt märksõna:

Komplekti tüübid määratletakse tavaliselt alampiiridega.

Ülaltoodud näites on TMagicNumber kohandatud alamtüüp, mis võimaldab TMagicNumber tüüpi muutujatel saada väärtusi vahemikus 1 kuni 34. Lihtsamalt öeldes tähistab alamtüüp väärtuste alamhulka teises ordinaarses tüübis.

Määratud tüübi võimalikud väärtused on kõik põhitüübi alamhulgad, sealhulgas tühi komplekt.

Komplektide piirang on see, et need mahutavad kuni 255 elementi.

Ülaltoodud näites on TMagicSeti komplekti tüüp TMagicNumberi elementide kogum - täisarvud vahemikus 1 kuni 34.

Deklaratsioon TMagicSet = TMagicNumber komplekt võrdub järgmise deklaratsiooniga: TMagicSet = komplekt 1..34.

Määrake tüübi muutujad

Ülaltoodud näites muutujad tühiMagicSet, oneMagicSet ja veel üksMagicSet on TMagicNumberi komplektid.

Et määrake väärtus

instagram viewer
Komplekti tüüpi muutuja jaoks kasutage nurksulge ja loetlege kõik komplekti elemendid. Nagu:

Märkus 1: iga komplekti tüüpi muutuja võib hoida tühja komplekti, tähisega [].

Märkus 2: Komplekti elementide järjekord ei oma tähendust ega ole oluline, kui element (väärtus) lisatakse komplekti kaks korda.

IN märksõna

Elemendi testimiseks on lisatud komplektis (muutuja) kasutage IN märksõna:

Operaatorite määramine

Kahe numbri liitmisel saate komplekti, mis on kahe komplekti summa. Komplektidega on teie üritusel rohkem operaatoreid:

  • + tagastab kahe komplekti ühenduse.
  • - tagastab kahe komplekti erinevuse.
  • * tagastab kahe komplekti ristumiskoha.
  • = tagasta tõene, kui kaks komplekti on võrdsed - omavad sama elementi.
  • <= tagastab tõese, kui esimene komplekt on teise komplekti alamhulk.
  • > = naaseb tõeseks, kui esimene komplekt on teise komplekti alampiir.
  • <> tagastab tõese, kui kaks komplekti pole identsed.
  • IN tagastab tõese, kui element on komplekti kaasatud.

Siin on näide:

Kas ShowMessage protseduur viiakse läbi? Kui jah, siis mida kuvatakse?

Funktsioon DisplayElements on rakendatud järgmiselt.

Vihje: jah. Kuvatud: "18 | 24 |".

Täisarvud, märgid, tõeväärtused

Muidugi ei piirdu komplektüüpide loomisel täisarvudega. Delphi ordinaarsed tüübid hõlmavad märgi- ja tõeväärtusi.

Kui soovite, et kasutajad ei kirjutaks alfaklahve, lisage see rida väljale OnKeyPress redigeerimise juhtelementi:

Komplekt loenditega

Delphi-koodi sagedamini kasutatav stsenaarium on nii loendatud kui ka tüüpide segamine.

Siin on näide:

Küsimus: kas teadet kuvatakse? Vastus: ei :(

Määrab Delphi juhtimisomadused

Kui peate TEditi juhtelementides kasutatava fondi jaoks kasutama "paksus kirjas", kasutate kas objektiinspektorit või järgmist koodi:

Atribuut Fondi stiil on määratud tüüpi atribuut! Selle määratlemine on järgmine:

Niisiis, loenditud tüüpi TFontStyle kasutatakse komplektüübi TFontStyles põhitüübina. Klassi TFont stiili atribuut on tüüpi TFontStyles - seega komplekti tüüpi atribuut.

Veel üks näide sisaldab funktsiooni MessageDlg tulemust. Funktsiooni MessageDlg kasutatakse teadete kasti avamiseks ja kasutaja vastuse saamiseks. Funktsiooni üheks parameetriks on nuppude Buttons tüüp TMsgDlgButtons.

TMsgDlgButtons on määratletud järgmiselt: (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Kui kuvate kasutajale sõnumi, mis sisaldab nuppe Jah, OK ja Tühista, ning soovite mõne koodi käivitamiseks, kui klõpsasid nuppu Jah või Ok, võite kasutada järgmist koodi:

Lõppsõna: komplektid on suurepärased. Komplektid võivad tunduda segane Delphi algaja, kuid niipea, kui hakkate komplekti tüüpi muutujaid kasutama, saate teada, et need pakuvad palju rohkem, kui see alguses kõlas.

instagram story viewer