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
