Arvostelut

Delphi SET -tyypin ymmärtäminen

Delphi SET -tyypin ymmärtäminen


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Yksi Delphin kielen ominaisuuksista, jota ei löydy muista nykykielistä, on joukkojen käsite.

Delphin asetettu tyyppi on kokoelma samantyyppisiä arvoja.

Sarja määritetään painikkeella joukko avainsana:

Joukkotyypit määritetään yleensä alialueilla.

Yllä olevassa esimerkissä TMagicNumber on mukautettu alityyppityyppi, joka sallii TMagicNumber-tyypin muuttujien vastaanottaa arvoja välillä 1 - 34. Yksinkertaisesti sanottuna, alilaitetyyppi edustaa toisen alatyypin arvojen osajoukkoa.

Asetustyypin mahdolliset arvot ovat kaikki perustyypin osajoukot, tyhjä joukko mukaan lukien.

Joukkojen rajoitus on, että ne voivat pitää enintään 255 elementtiä.

Yllä olevassa esimerkissä TMagicSet-joukkotyyppi on joukko TMagicNumber-elementtejä - kokonaislukuja 1 - 34.

Ilmoitus TMagicSet = joukko TMagicNumber on yhtä suuri kuin seuraava ilmoitus: TMagicSet = sarja 1… 34.

Aseta tyyppimuuttujat

Yllä olevassa esimerkissä muuttujat emptyMagicSet, oneMagicSet ja anotherMagicSet ovat TMagicNumber-sarjoja.

jotta määritä arvo Aseta tyyppimuuttujaksi hakasulkeilla ja lue kaikki joukon elementit. Kuten:

Huomautus 1: Jokainen joukkotyypin muuttuja voi pitää tyhjän joukon, jota merkitään.

Huomautus 2: Joukon elementtien järjestyksellä ei ole merkitystä, eikä ole merkityksellistä, että elementti (arvo) sisällytetään kahdesti sarjaan.

IN avainsana

Testaa, onko elementti sisältyy Käytä sarjaa (muuttuja) SISÄÄN avainsana:

Aseta operaattorit

Samoin kuin voit summata kaksi numeroa, sinulla voi olla joukko, joka on kahden joukon summa. Sarjojen avulla tapahtumassa on enemmän operaattoreita:

  • + palauttaa kahden sarjan liitoksen.
  • - palauttaa kahden sarjan eron.
  • * palauttaa kahden sarjan leikkauspisteen.
  • = palata tosi, jos kaksi joukkoa on yhtä suuri - omaa sama elementti.
  • <= palaa true, jos ensimmäinen joukko on toisen joukon osajoukko.
  • > = palaa totta, jos ensimmäinen joukko on toisen sarjan yläjoukko.
  • palauttaa arvon true, jos kaksi sarjaa eivät ole identtisiä.
  • IN palauttaa arvon true, jos elementti sisältyy joukkoon.

Tässä on esimerkki:

Suoritetaanko ShowMessage -menettely? Jos on, mitä näytetään?

Tässä on DisplayElements-toiminnon toteutus:

Vihje: kyllä. Näytetään: "18 | 24 |".

Kokonaislukut, merkit, loogiset luvut

Tietenkin, kun luot asetettuja tyyppejä, et ole rajoitettu kokonaislukuarvoihin. Delphi-ordinaalityypit sisältävät merkki- ja boolean-arvot.

Lisää tämä rivi muokkaussäätimen OnKeyPressiin, jotta käyttäjät eivät voi kirjoittaa alfa-näppäimiä:

Asettaa luettelot

Delphi-koodissa yleisesti käytetty skenaario on sekoittaa sekä luetellut tyypit että asettaa tyypit.

Tässä on esimerkki:

Kysymys: näytetäänkö viesti? Vastaus: ei :(

Asettaa Delphi-hallintaominaisuuksiin

Kun sinun on sovellettava "lihavoitua" TEdit-ohjaimissa käytettyyn kirjasimeen, käytät joko Object Inspectoria tai seuraavaa koodia:

Fontin tyyli -ominaisuus on tietyn tyyppinen ominaisuus! Se on määritelty seuraavasti:

Joten lueteltua tyyppiä TFontStyle käytetään perustyyppinä asetustyypille TFontStyles. TFont-luokan Tyyli-ominaisuus on tyyppiä TFontStyles - siksi asetetun tyyppinen ominaisuus.

Toinen esimerkki sisältää MessageDlg-toiminnon tuloksen. MessageDlg-toimintoa käytetään viestiruudun avaamiseen ja käyttäjän vastauksen saamiseen. Yksi toiminnon parametreista on Painikkeet-tyyppi TMsgDlgButtons.

TMsgDlgPainikkeet määritetään joukona (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp).

Jos näet käyttäjälle viestin, joka sisältää Kyllä, OK ja Peruuta painikkeet ja haluat suorittaa koodin, jos joko Kyllä tai Ok painikkeita napsautettiin, voit käyttää seuraavaa koodia:

Loppusana: sarjat ovat hienoja. Sarjat saattavat vaikuttaa hämmentävältä Delphi-aloittelijalle, mutta heti kun aloitat set-tyyppisten muuttujien käytön, huomaat, että ne tarjoavat paljon enemmän kuin se kuulosti alussa.



Kommentit:

  1. Nikogal

    Vahvistan. Olen samaa mieltä kaikista edellä mainituista. Voimme puhua tästä aiheesta. Täällä tai iltapäivällä.

  2. Abd Al Qadir

    Voin uskoa sinua :)

  3. Domingart

    Hyväksyn hyväksyn. Teema on mielenkiintoinen, osallistun keskusteluun. Yhdessä voimme päästä oikeaan vastaukseen.

  4. Huldiberaht

    Mielestäni tunnustat virheen. Voin todistaa sen.

  5. Shagar

    I congratulate, excellent idea and it is duly



Kirjoittaa viestin