Razumevanje vrste Delphi SET
če je ModalniRezultat v [mrDa, mrOk] potem ...

blackred/E+/Getty Images
Eden od jezik Delphi značilnosti, ki jih ne najdemo v drugih sodobnih jezikih, je pojem množic.
Delphijev nastavite vrsto je zbirka vrednosti istegaNabor je definiran z uporabo niz ključna beseda:
Vrste množic so običajno definirane s podobmočji.
V zgornjem primeru je TMagicNumber tip podrazpona po meri, ki spremenljivkam tipa TMagicNumber omogoča prejemanje vrednosti od 1 do 34. Preprosto povedano, tip podrazpona predstavlja podnabor vrednosti v drugem ordinalnem tipu.
Možne vrednosti vrste množice so vse podmnožice osnovne vrste, vključno s prazno množico.
Omejitev kompletov je, da lahko vsebujejo do 255 elementov.
V zgornjem primeru je tip nabora TMagicSet nabor elementov TMagicNumber – celih števil od 1 do 34.
Izjava TMagicSet = niz TMagicNumber je enako naslednji izjavi: TMagicSet = nabor 1..34.
Nastavite spremenljivke vrste
V zgornjem primeru spremenljivke prazniMagicSet , oneMagicSet in anotherMagicSet so nizi TMagicNumber.
Za dodelite vrednost na spremenljivko tipa množice uporabite oglate oklepaje in navedite vse elemente množice. Kot v:
Opomba 1: vsaka spremenljivka vrste nabora lahko vsebuje prazen nabor, označen z [].
Opomba 2: vrstni red elementov v nizu nima pomena, niti ni smiselno, da je element (vrednost) dvakrat vključen v niz.
Ključna beseda IN
Če želite preizkusiti element je vključeno v nizu (spremenljivki) uporabite IN ključna beseda:
Nastavite operatorje
Enako kot lahko seštejete dve števili, lahko imate niz, ki je vsota dveh nizov. Z nizi ima vaš dogodek več operaterjev:
- + vrne unijo dveh nizov.
- - vrne razliko dveh nizov.
- * vrne presečišče dveh množic.
- = vrni true, če sta dva niza enaka – imata isti element.
- <= returns true if the first set is a subset of the second set.
- >= vrne true, če je prvi niz nadmnožica drugega niza.
- vrne true, če dva niza nista enaka.
- IN vrne true, če je element vključen v niz.
Tukaj je primer:
Ali bo postopek ShowMessage izveden? Če da, kaj bo prikazano?
Tukaj je implementacija funkcije DisplayElements:
Namig: da. Prikazano: '18 | 24 |'.
Cela števila, znaki, logične vrednosti
Seveda pri ustvarjanju vrst nizov niste omejeni na celoštevilske vrednosti. Redni tipi Delphi vključujejo znakovne in logične vrednosti.
Če želite uporabnikom preprečiti vnašanje alfa tipk, dodajte to vrstico v OnKeyPressnadzora za urejanje:
Množice z naštevanjem
Pogosto uporabljen scenarij v kodi Delphi je mešanje tako oštevilčenih vrst kot nastavljenih vrst.
Tukaj je primer:
Vprašanje: ali bo sporočilo prikazano? Odgovor: ne :(
Nastavi v lastnostih nadzora Delphi
Ko morate uporabiti 'krepko' za pisavo, ki se uporablja v kontrolnikih TEdit, uporabite bodisi inšpektor objektov ali naslednjo kodo:
Lastnost sloga pisave je lastnost vrste nabora! Takole je definiran:
Torej se oštevilčeni tip TFontStyle uporablja kot osnovni tip za naborni tip TFontStyles. Lastnost Style razreda TFont je tipa TFontStyles – torej lastnost nastavljenega tipa.
Drug primer vključuje rezultat funkcije MessageDlg. Funkcija MessageDlg se uporablja za prikaz sporočilnega okna in pridobitev odgovora uporabnika. Eden od parametrov funkcije je parameter Buttons tipa TMsgDlgButtons.
TMsgDlgButtons je definiran kot niz (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).
Če uporabniku prikažete sporočilo z gumbi Da, V redu in Prekliči in želite izvesti kodo, če ste kliknili gumba Da ali V redu, lahko uporabite naslednjo kodo:
Zadnja beseda: kompleti so odlični. Nabori se lahko zdijo zmedeni za a Delphi začetnik , a takoj ko začnete uporabljati spremenljivke nastavljenega tipa, boste ugotovili, da zagotavljajo veliko več, kot se je zdelo na začetku.