Obični i nabrojeni tipovi podataka za Delphi

Delphi-a programski jezik primjer je snažno tipkanog jezika. To znači da sve varijable moraju biti neke vrste. Tip je u osnovi naziv za vrstu podataka. Kada deklariramo varijablu, moramo navesti njenu vrstu, koja određuje skup vrijednosti koje varijabla može držati i operacije koje se na njoj mogu izvoditi.

Mnogo je ugrađenih vrsta podataka tvrtke Delphi, kao što su Integer ili Niz, može se pročistiti ili kombinirati za stvaranje novih vrsta podataka. U ovom ćemo članku vidjeti kako stvoriti prilagođene redovne tipove podataka u Delphi.

Obični tipovi

Definirajuće karakteristike redoslijednih vrsta podataka su: moraju se sastojati od konačnog broja elemenata i moraju biti naređene na neki način.

Najčešći primjeri uobičajenih vrsta podataka su sve vrste Integer, kao i Char i Booleova tip. Preciznije, Object Pascal ima 12 unaprijed definiranih rednih vrsta: Integer, Shortint, Smallint, Longint, Byte, Word, Cardinal, Boolean, ByteBool, WordBool, LongBool i Char. Postoje također dvije klase rednih tipova definiranih od strane korisnika: nabrojani tipovi i podstranjivanja.

instagram viewer

U bilo kojem rednom tipu, mora imati smisla prijeći naprijed ili naprijed prema sljedećem elementu. Na primjer, stvarni tipovi nisu redovni jer pomicanje unatrag ili naprijed nema smisla. Pitanje "Koji je sljedeći trenutak nakon 2,5?" besmisleno je.

Budući da, po definiciji, svaka vrijednost osim prve ima jedinstvenog prethodnika i svaka vrijednost osim posljednje ima jedinstvenog nasljednika, nekoliko unaprijed definiranih funkcije koriste se u radu s ordinalnim tipovima:

Funkcija Utjecaj
Red (X) Daje indeks elementa
Pred (X) Prelazi na element naveden prije X u tipu
Succ (X) Prelazi na element naveden nakon X u tipu
Dec (X; n) Pomiče n elemente natrag (ako je izostavljen n pomiče se 1 element natrag)
Inc (X; n) Pomiče n elemenata naprijed (ako je izostavljen n, pomiče 1 element naprijed)
Niska (X) Vraća najnižu vrijednost u rasponu rednih podataka tipa X
Visoka (X) Vraća najveću vrijednost u rasponu rednih podataka tipa X


Na primjer, High (bajt) vraća 255 jer je najveća vrijednost tipa Byte 255, a Succ (2) vraća 3 jer je 3 nasljednik 2.

Napomena: Ako pokušamo koristiti Succ kada na posljednjem elementu Delphi generira a izuzetak ako je provjera raspona uključena.

Nabrojeni tip Delphi

Najlakši način za stvaranje novog primjera ordinalnog tipa je jednostavno popis hrpa elemenata nekim redoslijedom. Vrijednosti nemaju svojstveno značenje, a njihova urednost slijedi redoslijed u kojem su identifikatori navedeni. Drugim riječima, nabrajanje je popis vrijednosti.

tip TWeekDays = (ponedjeljak, utorak, srijeda, četvrtak, petak, subota, nedjelja);

Jednom kada definiramo nabrojani tip podataka, možemo proglasiti varijable tog tipa:

var SomeDay: TWeekDays;

Primarna svrha nabrojanog tipa podataka je razjasniti koje vaše podatke program će manipulirati. Nabrojeni tip je stvarno samo skraćeni način dodjeljivanja sekvencijalnih vrijednosti konstanti. S obzirom na ove deklaracije, utorak je stalnica tipa TWeekDays.

Delphi nam omogućuje rad s elementima u nabrojenom tipu koristeći indeks koji dolazi iz redoslijeda u kojem su bili popisani. U prethodnom primjeru, ponedjeljak u TWeekDays deklaracija tipa ima indeks 0, utorak ima indeks 1, i tako dalje. Funkcije navedene u tablici prije, npr. Succ (petak) koristimo za "odlazak u" subotu.

Sada možemo pokušati nešto poput:

za Neki dan: = ponedjeljak do nedjelja činiako Neki dan = utorak zatim
ShowMessage ('Utorak je!');

Biblioteka vizualnih komponenti Delphi na mnogim mjestima koristi nabrojane tipove. Na primjer, položaj obrasca definira se na sljedeći način:

TPosition = (poDesigned, poDefault, poDefaultPosOnly, poDefaultSizeOnly, poScreenCenter);

Položaj (putem Object Inspector) koristimo za dobivanje ili postavljanje veličine i položaja oblik.

Vrste podvrsta

Jednostavno rečeno, subrange oblik predstavlja podskup vrijednosti u drugom rednom tipu. Općenito, možemo definirati bilo koji podbroj počevši s bilo kojim rednim tipom (uključujući prethodno definirani nabrojeni tip) i koristeći dvostruku točku:

tip TWorkDays = ponedjeljak.. Petak;

Ovdje TWorkDays uključuje vrijednosti ponedjeljak, utorak, srijeda, četvrtak i petak.

To je sve - sada nabrojite!