En aquest tema, explorarem dos tipus de dades importants en Delphi/Object Pascal: els registres i els conjunts. Aquests tipus de dades ens permeten organitzar i gestionar la informació de manera eficient i estructurada.
Registres
Els registres (records) són estructures de dades que permeten agrupar diferents tipus de dades sota un mateix nom. Cada element dins d'un registre es coneix com a camp, i cada camp pot tenir un tipus de dada diferent.
Definició de Registres
Per definir un registre, utilitzem la paraula clau record
. Aquí teniu un exemple bàsic:
En aquest exemple, hem definit un registre anomenat TPersona
amb tres camps: Nom
, Edat
i CorreuElectronic
.
Ús de Registres
Per utilitzar un registre, primer hem de declarar una variable del tipus de registre i després podem accedir als seus camps:
var Persona: TPersona; begin Persona.Nom := 'Joan'; Persona.Edat := 30; Persona.CorreuElectronic := '[email protected]'; WriteLn('Nom: ', Persona.Nom); WriteLn('Edat: ', Persona.Edat); WriteLn('Correu Electrònic: ', Persona.CorreuElectronic); end;
Exercici Pràctic
Exercici 1: Defineix un registre anomenat TProducte
amb els camps Nom
, Preu
i Quantitat
. Després, crea una variable d'aquest tipus, assigna valors als seus camps i mostra'ls per pantalla.
Solució:
type TProducte = record Nom: string; Preu: Double; Quantitat: Integer; end; var Producte: TProducte; begin Producte.Nom := 'Ordinador Portàtil'; Producte.Preu := 999.99; Producte.Quantitat := 5; WriteLn('Nom: ', Producte.Nom); WriteLn('Preu: ', Producte.Preu:0:2); WriteLn('Quantitat: ', Producte.Quantitat); end;
Conjunts
Els conjunts (sets) són col·leccions d'elements del mateix tipus que permeten realitzar operacions conjuntes com la unió, la intersecció i la diferència.
Definició de Conjunts
Per definir un conjunt, utilitzem la paraula clau set of
. Aquí teniu un exemple bàsic:
type TDiesSetmana = (Dilluns, Dimarts, Dimecres, Dijous, Divendres, Dissabte, Diumenge); TSetDies = set of TDiesSetmana;
En aquest exemple, hem definit un tipus enumerat TDiesSetmana
i un conjunt TSetDies
que pot contenir qualsevol combinació dels dies de la setmana.
Ús de Conjunts
Per utilitzar un conjunt, primer hem de declarar una variable del tipus de conjunt i després podem afegir o eliminar elements:
var DiesLaborables: TSetDies; begin DiesLaborables := [Dilluns, Dimarts, Dimecres, Dijous, Divendres]; if Dilluns in DiesLaborables then WriteLn('Dilluns és un dia laborable.'); Exclude(DiesLaborables, Divendres); if not (Divendres in DiesLaborables) then WriteLn('Divendres ja no és un dia laborable.'); end;
Operacions amb Conjunts
Els conjunts permeten realitzar diverses operacions:
- Unió:
A := A + B;
- Intersecció:
A := A * B;
- Diferència:
A := A - B;
Exercici Pràctic
Exercici 2: Defineix un conjunt anomenat TSetColors
que contingui els colors Vermell
, Verd
, Blau
i Groc
. Després, crea una variable d'aquest tipus, afegeix alguns colors i mostra'ls per pantalla.
Solució:
type TColors = (Vermell, Verd, Blau, Groc); TSetColors = set of TColors; var Colors: TSetColors; begin Colors := [Vermell, Blau]; if Vermell in Colors then WriteLn('Vermell està en el conjunt.'); Include(Colors, Verd); if Verd in Colors then WriteLn('Verd està en el conjunt.'); Exclude(Colors, Blau); if not (Blau in Colors) then WriteLn('Blau ja no està en el conjunt.'); end;
Conclusió
En aquesta secció, hem après a treballar amb registres i conjunts en Delphi/Object Pascal. Els registres ens permeten agrupar diferents tipus de dades sota un mateix nom, mentre que els conjunts ens permeten gestionar col·leccions d'elements del mateix tipus i realitzar operacions conjuntes. Aquests conceptes són fonamentals per organitzar i gestionar la informació de manera eficient en els nostres programes.
Curs de Programació Delphi/Object Pascal
Mòdul 1: Introducció a Delphi/Object Pascal
- Introducció a Delphi i Object Pascal
- Configuració de l'Entorn de Desenvolupament
- Primera Aplicació Delphi
- Sintaxi i Estructura Bàsiques
- Variables i Tipus de Dades
Mòdul 2: Estructures de Control i Procediments
- Declaracions Condicionals
- Bucles i Iteració
- Procediments i Funcions
- Abast i Durada de les Variables
- Gestió d'Errors i Depuració
Mòdul 3: Treballant amb Dades
- Arrays i Cadenes
- Registres i Conjunts
- Tipus Enumerats i Subrang
- Gestió d'Arxius
- Accés a Bases de Dades
Mòdul 4: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Herència i Polimorfisme
- Interfícies i Classes Abstractes
- Gestió d'Excepcions en POO
Mòdul 5: Funcions Avançades de Delphi
- Generics i Col·leccions
- Multifil i Programació Paral·lela
- Desenvolupament Basat en Components
- Biblioteca d'Execució de Delphi (RTL)
- Tècniques Avançades de Depuració
Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX
- Introducció a VCL
- Creació de Formularis i Controls
- Programació Basada en Esdeveniments
- Introducció a FireMonkey (FMX)
- Desenvolupament Multiplataforma amb FMX
Mòdul 7: Desenvolupament Web i Mòbil
- Desenvolupament Web amb Delphi
- Serveis RESTful
- Desenvolupament Mòbil amb Delphi
- Desplegament d'Aplicacions Mòbils
- Integració amb Serveis Web
Mòdul 8: Millors Pràctiques i Patrons de Disseny
- Organització del Codi i Documentació
- Patrons de Disseny en Delphi
- Tècniques de Refactorització
- Proves Unitàries i Desenvolupament Basat en Proves
- Optimització del Rendiment