„Delphi SET“ tipo supratimas
jei ModalResult yra [mrYes, mrOk], tada ...
blackred/E+/Getty Images
Vienas iš Delphi kalba bruožai, kurių nėra kitose šiuolaikinėse kalbose, yra aibių sąvoka.
Delphi's rinkinio tipas yra to paties vertybių rinkinysRinkinys apibrėžiamas naudojant rinkinys raktažodis:
Aibių tipai paprastai apibrėžiami subdiapazonais.
Aukščiau pateiktame pavyzdyje TmagicNumber yra pasirinktinis podiapazono tipas, leidžiantis TMagicNumber tipo kintamiesiems gauti reikšmes nuo 1 iki 34. Paprasčiau tariant, podiapazonio tipas reiškia kito eilės tipo reikšmių poaibį.
Galimos rinkinio tipo reikšmės yra visi bazinio tipo poaibiai, įskaitant tuščią aibę.
Rinkinių apribojimas yra tas, kad juose gali būti iki 255 elementų.
Aukščiau pateiktame pavyzdyje TMagicSet rinkinio tipas yra TMagicNumber elementų rinkinys – sveikieji skaičiai nuo 1 iki 34.
Deklaracija TmagicSet = TmagicNumber rinkinys yra lygus šiai deklaracijai: TMagicSet = 1...34 rinkinys.
Nustatyti tipo kintamuosius
Aukščiau pateiktame pavyzdyje kintamieji tuščiasMagicSet , oneMagicSet ir kitas MagicSet yra TmagicNumber rinkiniai.
Į priskirti vertę į rinkinio tipo kintamąjį, naudokite laužtinius skliaustus ir surašykite visus rinkinio elementus. Kaip:
1 pastaba: kiekvienas rinkinio tipo kintamasis gali turėti tuščią rinkinį, pažymėtą [].
2 pastaba: elementų tvarka aibėje neturi reikšmės, taip pat nėra prasmės elementą (reikšmę) įtraukti į rinkinį du kartus.
IN raktinis žodis
Norėdami patikrinti, ar elementas yra įtrauktas rinkinyje (kintamajame) naudokite IN raktažodis:
Nustatyti operatorius
Taip pat galite susumuoti du skaičius, galite turėti aibę, kuri yra dviejų aibių suma. Naudodami rinkinius jūsų renginyje yra daugiau operatorių:
- + grąžina dviejų aibių sąjungą.
- - grąžina dviejų rinkinių skirtumą.
- * grąžina dviejų aibių sankirtą.
- = grąžinti teisingą, jei dvi aibės yra lygios – turi tą patį elementą.
- <= returns true if the first set is a subset of the second set.
- >= grąžina true, jei pirmasis rinkinys yra antrojo rinkinio superaibė.
- grąžina true, jei dvi aibės nėra tapačios.
- IN grąžina true, jei elementas yra įtrauktas į rinkinį.
Štai pavyzdys:
Ar bus atlikta ShowMessage procedūra? Jei taip, kas bus rodoma?
Štai „DisplayElements“ funkcijos įgyvendinimas:
Patarimas: taip. Rodoma: '18 | 24 |“.
Sveikieji skaičiai, simboliai, Būlio reikšmės
Žinoma, kurdami rinkinių tipus neapsiribojate sveikųjų skaičių reikšmėmis. Delphi eiliniai tipai apima simbolius ir logines vertes.
Kad vartotojai negalėtų rašyti alfa klavišų, pridėkite šią eilutę OnKeyPressredagavimo valdiklis:
Rinkiniai su išvardinimais
„Delphi“ kode dažniausiai naudojamas scenarijus – maišyti išvardytus tipus ir rinkinių tipus.
Štai pavyzdys:
Klausimas: ar pranešimas bus rodomas? Atsakymas: ne :(
Nustatoma Delphi valdymo ypatybėse
Kai TEdit valdikliuose naudojamam šriftui reikia taikyti paryškintą šriftą, naudokite objektų inspektorių arba šį kodą:
Šrifto stiliaus ypatybė yra nustatyto tipo ypatybė! Štai kaip jis apibrėžiamas:
Taigi, išvardintas tipas TFontStyle naudojamas kaip pagrindinis rinkinio tipo TFontStyles tipas. TFont klasės ypatybė Style yra TFontStyles tipo, taigi, rinkinio tipo nuosavybė.
Kitas pavyzdys apima funkcijos MessageDlg rezultatą. Funkcija MessageDlg naudojama pranešimų langeliui iškviesti ir vartotojo atsakymui gauti. Vienas iš funkcijos parametrų yra TMsgDlgButtons tipo parametras Buttons.
TMsgDlgButtons apibrėžiamas kaip (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp) rinkinys.
Jei vartotojui rodomas pranešimas, kuriame yra mygtukai Taip, Gerai ir Atšaukti, ir norite atlikti tam tikrą kodą, jei buvo spustelėti mygtukai Taip arba Gerai, galite naudoti kitą kodą:
Paskutinis žodis: rinkiniai puikūs. Rinkiniai gali pasirodyti painūs a Delphi pradedantysis , bet kai tik pradėsite naudoti rinkinio tipo kintamuosius, sužinosite, kad jie suteikia daug daugiau, nei skambėjo pradžioje.