„Delphi SET“ tipo supratimas

Vienas iš Delfų kalba bruožai, kurių nėra kitose šiuolaikinėse kalbose, yra rinkinių sąvoka.

Delfųrinkinio tipas yra tų pačių vertybių rinkinys ordinarinis tipas.

Rinkinys apibrėžiamas naudojant rinkinys raktinis žodis:

Rinkinių tipai paprastai apibrėžiami su subranga.

Aukščiau pateiktame pavyzdyje „TMagicNumber“ yra pasirinktinis pakaitinis tipas, leidžiantis „TMagicNumber“ tipo kintamiesiems gauti reikšmes nuo 1 iki 34. Paprasčiau tariant, subrange tipas žymi kito eilės tipo verčių pogrupį.

Galimos nustatyto tipo vertės yra visi bazinio tipo pogrupiai, įskaitant tuščią rinkinį.

Rinkinių apribojimas yra tas, kad jie gali laikyti 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 šiam pareiškimui: TMagicSet = 1..34 rinkinys.

Nustatykite tipo kintamuosius

Aukščiau pateiktame pavyzdyje kintamieji „emptyMagicSet“, „oneMagicSet“ ir elseMagicSet yra „TMagicNumber“ rinkiniai.

instagram viewer

Kam priskirti vertę prie rinkinio tipo kintamojo naudokite laužtinius skliaustus ir išvardykite visus rinkinio elementus. Kaip:

1 pastaba: kiekvienas rinkinio tipo kintamasis gali laikyti tuščią rinkinį, žymimą [].

2 pastaba: elementų eiliškumas rinkinyje neturi prasmės, taip pat nėra prasmės, kad elementas (vertė) būtų du kartus įtrauktas į rinkinį.

IN raktinis žodis

Norėdami patikrinti, ar elementas yra įtrauktas rinkinyje (kintamasis) naudokite IN raktinis žodis:

Nustatykite operatorius

Lygiai taip pat, kaip jūs galite susumuoti du skaičius, galite turėti aibę, kuri yra dviejų aibių suma. Su rinkiniais jūsų renginyje yra daugiau operatorių:

  • + grąžina dviejų rinkinių jungtį.
  • - grąžina dviejų rinkinių skirtumą.
  • * grąžina dviejų aibių sankirtą.
  • = grįžti teisingai, jei du rinkiniai yra lygūs - turėk tą patį elementą.
  • <= grįžta tiesa, jei pirmasis rinkinys yra antrosios rinkinio pogrupis.
  • > = grąžina teisingą reikšmę, jei pirmasis rinkinys yra antrosios rinkinio viršutinis rinkinys.
  • <> grąžina tiesą, jei du rinkiniai nėra tapatūs.
  • IN grįžta tiesa, jei elementas įtrauktas į rinkinį.

Štai pavyzdys:

Ar bus vykdoma „ShowMessage“ procedūra? Jei taip, kas bus rodoma?

Pateikiame „DisplayElements“ funkcijos įgyvendinimą:

Užuomina: taip. Parodyta: „18 | 24 |“.

Sveikieji skaičiai, simboliai, loginės vertės

Kurdami rinkinių tipus, žinoma, neapsiribojate sveikomis skaičiais. Delphi ordinariniai tipai apima simbolių ir logines reikšmes.

Norėdami neleisti vartotojams įvesti alfa klavišų, pridėkite šią eilutę laukelyje „OnKeyPress“ redagavimo valdiklis:

Rinkiniai su įrašais

Dažniausiai naudojamas Delphi kodo scenarijus - maišyti išvardytus ir nustatytus tipus.

Štai pavyzdys:

Klausimas: ar pranešimas bus rodomas? Atsakymas: ne :(

Nustatoma „Delphi Control Properties“

Kai jums reikia pritaikyti „Bold“ šriftui, naudojamam „TEdit“ valdikliuose, jūs naudojate arba objektų inspektorių, arba šį kodą:

Savybė „Šrifto stilius“ yra nustatyto tipo savybė! Tai apibrėžta taip:

Išvardytas TFontStyle tipas yra naudojamas kaip nustatyto tipo TFontStyles bazinis tipas. „TFont“ klasės stiliaus savybė yra „TFontStyles“ tipo - taigi nustatyto tipo savybė.

Kitas pavyzdys apima „MessageDlg“ funkcijos rezultatą. Funkcija „MessageDlg“ naudojama pranešimų laukeliui atkurti ir vartotojo atsakymui gauti. Vienas iš funkcijos parametrų yra „TMsgDlgButtons“ tipo mygtukas.

„TMsgDlgButtons“ yra apibrėžiamas kaip rinkinys (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Jei vartotojui parodysite pranešimą, kuriame yra mygtukai Taip, Gerai ir Atšaukti, ir norite įvykdyti kodą, jei buvo paspausti mygtukai Taip arba Gerai, galite naudoti kitą kodą:

Galutinis žodis: rinkiniai yra puikūs. Komplektai gali atrodyti painūs „Delphi“ pradedantysis, bet kai tik pradėsite naudoti rinkinio tipo kintamuosius, sužinosite, kad jie pateikia daug daugiau, nei skambėjo pradžioje.

instagram story viewer