Ierakstu datu tipu izpratne un izmantošana Delphi

click fraud protection

Komplekti ir labi, masīvi ir lieliski.

Pieņemsim, ka mēs vēlamies izveidot trīs viendimensionālus blokus 50 dalībniekiem mūsu programmēšanas kopienā. Pirmais masīvs ir nosaukumiem, otrais - e-pastam, bet trešais - augšupielādes (komponentu vai lietojumprogrammu) skaitam mūsu sabiedrībā.

Katram masīvam (sarakstam) būtu atbilstošie indeksi un daudz koda, lai visus trīs sarakstus uzturētu paralēli. Protams, mēs varētu izmēģināt ar vienu trīsdimensiju masīvu, bet kā ir ar tā veidu? Mums ir nepieciešama vārdu un e-pasta virkne, bet augšupielādes skaitam - vesels skaitlis.

Veids, kā strādāt ar šādu datu struktūru, ir izmantot Delphi ierakstu struktūra.

TMember = Ierakstīt...

Piemēram, ar šo deklarāciju tiek izveidots ieraksta tips ar nosaukumu TMember, kuru mēs varētu izmantot mūsu gadījumā.

Būtībā a ierakstu datu struktūra var sajaukt jebkuru no Delphi iebūvētajiem veidiem ieskaitot visus jūsu izveidotos veidus. Ierakstu veidi nosaka dažāda veida priekšmetu fiksētas kolekcijas. Katra prece vai lauka, ir kā mainīgs lielums, kas sastāv no nosaukuma un veida.

instagram viewer

TMember tips satur trīs laukus: virknes vērtību ar nosaukumu Name (lai turētu dalībnieka vārdu), virknes veida vērtību sauc e-pasts (vienam e-pastam) un vesels skaitlis (kardināls) ar nosaukumu Posts (lai saglabātu iesniegto iesniegumu skaitu mūsu kopiena).

Kad esam iestatījuši ieraksta veidu, mēs varam pasludināt mainīgo par tipa TMember. TMember tagad ir tikpat labs mainīgo tips kā jebkurš no tiem Delfi 'iebūvētie veidi, piemēram, virkne vai vesels skaitlis. Piezīme: TMember tipa deklarācija nepiešķir atmiņu laukiem Vārds, e-pasts un Ziņas;

Lai faktiski izveidotu TMember ieraksta gadījumu, mums jādeklarē TMember tipa mainīgais, kā norādīts šādā kodā:

Tagad, kad mums ir ieraksts, mēs izmantojam punktu, lai izolētu DelphiGuide laukus.

Piezīme. Iepriekš minēto koda daļu var pārrakstīt, izmantojot aratslēgvārds.

Tagad DelphiGuide lauku vērtības varam nokopēt AMember.

Ieraksta darbības joma un redzamība

Ieraksta veidam, kas deklarēts formas (ieviešanas sadaļa), funkcijas vai procedūras deklarācijā, darbības joma ir ierobežota ar bloku, kurā tas tiek deklarēts. Ja ieraksts ir deklarēts vienības saskarnes sadaļā, tam ir darbības joma, kas ietver visas citas vienības vai programmas, kuras izmanto vienību, kurā notiek deklarācija.

Ierakstu masīvs

Tā kā TMember darbojas tāpat kā jebkurš cits Object Pascal tips, mēs varam deklarēt ierakstu mainīgo masīvu:

Piezīme. Lūk, kā to izdarīt deklarēt un inicializēt pastāvīgu ierakstu masīvu Delfos.

Ieraksti kā ierakstu lauki

Tā kā ierakstu tips ir likumīgs tāpat kā jebkurš cits Delphi tips, mēs varam ierakstu laukā būt pašam ierakstam. Piemēram, mēs varētu izveidot ExpandedMember, lai sekotu līdzi tam, ko dalībnieks iesniedz kopā ar informāciju par dalībnieku.

Tagad kaut kā grūtāk ir aizpildīt visu nepieciešamo informāciju vienam ierakstam. Lai piekļūtu TExpandedMember laukiem, nepieciešami vairāk periodu (punkti).

Ieraksts ar "nezināmiem" laukiem

Ieraksta tipam var būt varianta daļa (nedrīkst sajaukt ar mainīgā tipa mainīgo). Variantu ieraksti tiek izmantoti, piemēram, ja mēs vēlamies izveidot ieraksta veidu, kuram ir lauki dažāda veida dati, taču mēs zinām, ka mums nekad nevajadzēs visus laukus izmantot vienā ierakstā piemēram. Lai uzzinātu vairāk par Variant daļām ierakstos, apskatiet Delphi palīdzības failus. Ieraksta veida varianta izmantošana nav droša tipam un nav ieteicama programmēšanas prakse, īpaši iesācējiem.

Tomēr variantu ieraksti var būt diezgan noderīgi, ja kādreiz atrodaties situācijā, lai tos izmantotu.

instagram story viewer