Izpratne par Delphi SET tipu

Viens no Delfu valoda funkcijas, kas nav atrodamas citās mūsdienu valodās, ir kopu jēdziens.

Delfikomplekta tips ir to pašu vērtību kolekcija ordinārais tips.

Komplekts tiek definēts, izmantojot komplekts atslēgvārds:

Komplektu tipi parasti tiek definēti ar apakšdaļām.

Iepriekš minētajā piemērā TMagicNumber ir pielāgots apakšpārveidošanas tips, kas ļauj TMagicNumber tipa mainīgajiem lielumiem saņemt vērtības no 1 līdz 34. Vienkārši sakot, apakškārtas tips apzīmē citu kārtas vērtību vērtību apakškopu.

Iestatītā tipa iespējamās vērtības ir visas pamata tipa apakškopas, ieskaitot tukšo kopu.

Komplektu ierobežojums ir tas, ka tie var turēt līdz 255 elementiem.

Iepriekš minētajā piemērā TMagicSet kopas tips ir TMagicNumber elementu kopa - veseli skaitļi no 1 līdz 34.

Deklarācija TMagicSet = TMagicNumber komplekts ir vienāds ar šādu deklarāciju: TMagicSet = komplekts 1..34.

Iestatiet tipa mainīgos

Iepriekš minētajā piemērā mainīgie tukšsMagicSet, oneMagicSet un citsMagicSet ir TMagicNumber kopas.

Uz piešķirt vērtību

instagram viewer
kopas tipa mainīgajam izmantojiet kvadrātiekavas un uzskaitiet visus kopas elementus. Kā:

1. piezīme: katrs kopas tipa mainīgais var turēt tukšu komplektu, kas apzīmēts ar [].

2. piezīme. Komplekta elementu secībai nav nozīmes, un nav nozīmes, ja elements (vērtība) divreiz tiek iekļauts komplektā.

IN atslēga

Lai pārbaudītu, vai ir elements ir iekļauts komplektā (mainīgais) izmantojiet IN atslēgvārds:

Komplekta operatori

Tādā pašā veidā jūs varat sasummēt divus skaitļus, un jums var būt komplekts, kas ir divu kopu summa. Ar komplektiem jūsu pasākumam ir vairāk operatoru:

  • + atgriež divu kopu savienību.
  • - atgriež divu kopu starpību.
  • * atgriež divu komplektu krustojumu.
  • = atgriezties taisnība, ja divas kopas ir vienādas - ir tas pats elements.
  • <= atgriežas patiesi, ja pirmā kopa ir otrās kopas apakškopa.
  • > = atgriežas patiesi, ja pirmais komplekts ir otrās kopas virssumma.
  • <> atgriežas patiesi, ja divas kopas nav identiskas.
  • IN atgriežas patiesi, ja elements ir iekļauts komplektā.

Šis ir piemērs:

Vai tiks izpildīta ShowMessage procedūra? Ja jā, kas tiks parādīts?

Tālāk ir parādīta funkcijas DisplayElements ieviešana.

Padoms: jā. Attēlots: "18 | 24 |".

Veseli skaitļi, rakstzīmes, Būles

Protams, veidojot kopu veidus, jūs neaprobežojaties tikai ar veselām vērtībām. Delphi kārtējie tipi ietver rakstzīmju un Būla vērtības.

Lai lietotāji nevarētu ievadīt burtu taustiņus, pievienojiet šo rindiņu laukā OnKeyPress rediģēšanas vadīklas:

Komplekti ar uzskaitījumiem

Delfu kodā parasti izmantots scenārijs ir sajaukt gan uzskaitītos tipus, gan iestatītos tipus.

Šis ir piemērs:

Jautājums: vai ziņojums tiks parādīts? Atbilde: nē :(

Iestata Delphi vadības īpašībās

Kad TEdit kontrolierīcēs izmantotajam fontam jāpielieto "treknraksts", jūs izmantojat vai nu objekta inspektoru, vai šādu kodu:

Īpašums Fonta stils ir noteikta tipa īpašums! Tas ir definēts šādi:

Tātad, uzskaitītā tipa TFontStyle tiek izmantots kā bāzes tipa iestatītajam veidam TFontStyles. Klases TFont stilam piemīt tips TFontStyles - tātad noteikta tipa rekvizīts.

Cits piemērs ietver funkcijas MessageDlg rezultātu. Funkcija MessageDlg tiek izmantota, lai parādītu ziņojumu lodziņu un iegūtu lietotāja atbildi. Viens no funkcijas parametriem ir TMsgDlgButtons tipa Buttons parametrs.

TMsgDlgButtons tiek definēts kā kopums (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Ja lietotājam tiek parādīts ziņojums, kurā ir pogas Jā, Labi un Atcelt, un vēlaties izpildīt kādu kodu, ja tika noklikšķināts uz pogas Jā vai Labi, varat izmantot nākamo kodu:

Gala vārds: komplekti ir lieliski. Komplekti var šķist mulsinoši Delfu iesācējs, bet, tiklīdz sākat lietot iestatītā tipa mainīgos, uzzināsit, ka tie sniedz daudz vairāk, nekā tas skanēja sākumā.