Razumevanje vrste Delphi SET

Eden izmed Delphi jezik lastnosti, ki jih v drugih sodobnih jezikih ne najdemo, je pojem množic.

Delfinastavljena vrsta je zbirka vrednosti istega vrstni red.

Niz je določen s pomočjo niz ključna beseda:

Vrste nastavitev so ponavadi definirane s podoknami.

V zgornjem primeru je TMagicNumber po meri podvrsta po meri, ki omogoča spremenljivkam tipa TMagicNumber prejemanje vrednosti od 1 do 34. Preprosto povedano, podvrsto vrsta predstavlja podmnožico vrednosti v drugem vrstnem redu.

Možne vrednosti vrste nastavitve so vse podmnožice osnovnega tipa, vključno s praznim nizom.

Omejitev kompletov je, da lahko vsebujejo do 255 elementov.

V zgornjem primeru je vrsta niza TMagicSet nabor elementov TMagicNumber - celih števil od 1 do 34.

Izjava TMagicSet = niz TMagicNumber je enaka naslednji deklaraciji: TMagicSet = niz 1..34.

Nastavite spremenljivke tipa

V zgornjem primeru spremenljivke prazenMagicSet, oneMagicSet in drugiMagicSet so sklopi TMagicNumber.

Do dodelite vrednost na spremenljivko vrste nabora uporabite kvadratne oklepaje in naštejte vse elemente niza. Kot v:

instagram viewer

Opomba 1: vsaka spremenljivka vrste lahko vsebuje prazen niz, označen s [].

Opomba 2: vrstni red elementov v nizu nima pomena, niti ni smiselno, da se element (vrednost) dvakrat vključi v niz.

Ključna beseda IN

Za preizkus, ali element je vključeno v množici (spremenljivki) uporabite IN ključna beseda:

Nastavite operatorje

Na enak način lahko seštejete dve številki, lahko tudi niz, ki je vsota dveh nizov. Z nastavitvami ima vaš dogodek več operaterjev:

  • + vrne zvezo dveh nizov.
  • - vrne razliko dveh nizov.
  • * vrne presečišče dveh sklopov.
  • = return true, če sta dva niza enaka - imata isti element.
  • <= vrne true, če je prvi niz podmnožica drugega niza.
  • > = vrne true, če je prvi niz nadnapis drugega sklopa.
  • <> vrne true, če sta dva niza enaka.
  • IN vrne true, če je element vključen v nabor.

Tu je primer:

Ali bo izveden postopek ShowMessage? Če je odgovor pritrdilen, kaj bo prikazano?

Tu je izvedba funkcije DisplayElements:

Namig: da. Prikazano: "18 | 24 |".

Celi, znaki, Booleans

Seveda pri ustvarjanju vrst nastavitev niste omejeni na celoštevilčne vrednosti. Redni tipi Delphi vključujejo znakovne in logične vrednosti.

Če želite preprečiti, da bi uporabniki vnašali alfa tipke, dodajte to vrstico v OnKeyPress nadzora urejanja:

Kombinacije s številkami

Pogosto uporabljen scenarij v kodi Delphi je mešanje obeh naštetih vrst in nastavljenih vrst.

Tu je primer:

Vprašanje: ali se bo prikazalo sporočilo? Odgovor: ne :(

Nastavi v nadzornih lastnostih Delphi

Ko morate uporabiti "krepko" pisavo, uporabljeno v nadzornih enotah TEdit, uporabite bodisi Object Inspector ali naslednjo kodo:

Lastnost Font's Style je lastnost nastavljenega tipa! Tukaj je opisano:

Tako je oštevilčen tip TFontStyle uporabljen kot osnovni tip za nastavljeni tip TFontStyles. Lastnost Style razreda TFont je tipa TFontStyles - torej lastnost vrste set.

Drug primer vključuje rezultat funkcije MessageDlg. Funkcija MessageDlg se uporablja za prikazovanje polja za sporočila in pridobitev uporabnikovega odgovora. Eden od parametrov funkcije je parameter Buttons tipa TMsgDlgButtons.

TMsgDlgButtons je opredeljen kot niz (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Če uporabniku prikažete sporočilo, ki vsebuje gumbe Da, OK in Prekliči in želite izvesti neko kodo, če ste kliknili gumba Da ali V redu, lahko uporabite naslednjo kodo:

Končna beseda: kompleti so odlični. Kompleti se morda zdijo zmedeni za Delphi začetnik, a ko začnete uporabljati spremenljivke vrste, boste ugotovili, da zagotavljajo veliko več, kot se je slišalo na začetku.

instagram story viewer