Înțelegerea și utilizarea tipurilor de date de înregistrare în Delphi

Seturile sunt în regulă, tablourile sunt grozave.

Să presupunem că vrem să creăm trei tablouri unidimensionale pentru 50 de membri din comunitatea noastră de programare. Primul tablou este pentru nume, al doilea pentru e-mailuri, iar al treilea pentru numărul de încărcări (componente sau aplicații) către comunitatea noastră.

Fiecare tablou (listă) ar avea indexuri potrivite și mult cod pentru a menține paralel toate cele trei liste. Desigur, am putea încerca cu un tablou tridimensional, dar ce zici de tipul său? Avem nevoie de șiruri pentru nume și e-mailuri, dar un număr întreg pentru numărul de încărcări.

Modul de a lucra cu o astfel de structură de date este de a utiliza Delphi structura de înregistrare.

TMember = Înregistrare ...

De exemplu, următoarea declarație creează un tip de înregistrare numit TMember, cel pe care l-am putea folosi în cazul nostru.

În esență, a structura de înregistrare a datelor poate amesteca oricare dintre tipurile Delphi încorporate inclusiv orice tipuri pe care le-ați creat. Tipurile de înregistrare definesc colecțiile fixe de articole de diferite tipuri. Fiecare element, sau camp, este ca o variabilă, formată dintr-un nume și un tip.

Tipul TMember conține trei câmpuri: o valoare string numită Name (pentru a reține numele unui membru), o valoare a unui tip de șir numit e-mail (pentru un e-mail) și un număr întreg (Cardinal) numit Posts (pentru a reține numărul de trimiteri către comunitatea noastră).

După ce am stabilit tipul de înregistrare, putem declara o variabilă ca fiind de tip TMember. TMember este acum un tip de variabilă la fel de bun pentru variabile ca oricare dintre tipurile Delphi încorporate precum String sau Integer. Notă: declarația de tip TMember, nu alocă nicio memorie pentru câmpurile Nume, e-mail și Postări;

Pentru a crea de fapt o instanță a înregistrării TMember, trebuie să declaram o variabilă de tip TMember, ca în codul următor:

Acum, când avem o înregistrare, folosim un punct pentru a izola câmpurile DelphiGuide.

Notă: codul de mai sus ar putea fi rescris cu utilizarea de cu cuvinte cheie.

Acum putem copia valorile câmpurilor DelphiGuide în AMember.

Domeniu de înregistrare și vizibilitate

Tipul de înregistrare declarat în cadrul declarației unui formular (secțiune de implementare), funcție sau procedură are un domeniu limitat la blocul în care este declarat. Dacă înregistrarea este declarată în secțiunea de interfață a unei unități, aceasta are un scop care include orice alte unități sau programe care utilizează unitatea în care se produce declarația.

Un Array of Records

Deoarece TMember acționează ca orice alt tip de obiect Pascal, putem declara o serie de variabile de înregistrare:

Notă: Iată modul de declarare și inițializare a unui șir constant de înregistrări în Delphi.