En aquest tema, explorarem dos tipus de dades molt útils en Delphi/Object Pascal: els tipus enumerats i els tipus subrang. Aquests tipus de dades ens permeten definir conjunts de valors específics i restringir els valors que una variable pot tenir, respectivament.
Tipus Enumerats
Els tipus enumerats permeten definir un conjunt de valors simbòlics que una variable pot tenir. Això fa que el codi sigui més llegible i menys propens a errors.
Definició de Tipus Enumerats
Un tipus enumerat es defineix utilitzant la paraula clau type
seguida del nom del tipus i la llista de valors possibles entre parèntesis.
Ús de Tipus Enumerats
Un cop definit el tipus enumerat, podem declarar variables d'aquest tipus i assignar-los valors.
var Color: TColor; begin Color := Red; if Color = Green then WriteLn('The color is green.') else WriteLn('The color is not green.'); end;
Avantatges dels Tipus Enumerats
- Claredat: Els noms simbòlics fan que el codi sigui més fàcil de llegir i entendre.
- Seguretat: El compilador pot detectar assignacions incorrectes de valors.
- Mantenibilitat: És més fàcil afegir o modificar valors en un tipus enumerat que en un conjunt de constants.
Tipus Subrang
Els tipus subrang permeten definir un rang de valors dins d'un tipus ordinal existent (com Integer
, Char
, etc.). Això és útil per restringir els valors que una variable pot tenir.
Definició de Tipus Subrang
Un tipus subrang es defineix utilitzant la paraula clau type
seguida del nom del tipus i el rang de valors entre parèntesis.
Ús de Tipus Subrang
Un cop definit el tipus subrang, podem declarar variables d'aquest tipus i assignar-los valors dins del rang especificat.
Avantatges dels Tipus Subrang
- Validació: El compilador pot detectar assignacions de valors fora del rang.
- Optimització: Pot ajudar a optimitzar l'ús de memòria en alguns casos.
- Claredat: Defineix clarament els límits dels valors que una variable pot tenir.
Exercicis Pràctics
Exercici 1: Tipus Enumerats
Defineix un tipus enumerat TDay
que representi els dies de la setmana. Escriu un programa que imprimeixi un missatge diferent per a cada dia.
type TDay = (Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday); var Day: TDay; begin Day := Monday; case Day of Monday: WriteLn('Start of the work week.'); Tuesday: WriteLn('Second day of the work week.'); Wednesday: WriteLn('Midweek.'); Thursday: WriteLn('Almost the weekend.'); Friday: WriteLn('Last work day.'); Saturday: WriteLn('Weekend!'); Sunday: WriteLn('Rest day.'); end; end;
Exercici 2: Tipus Subrang
Defineix un tipus subrang TScore
que representi puntuacions de 0 a 100. Escriu un programa que classifiqui la puntuació com a "Fail", "Pass" o "Excellent".
type TScore = 0..100; var Score: TScore; begin Score := 85; if Score < 50 then WriteLn('Fail') else if Score < 75 then WriteLn('Pass') else WriteLn('Excellent'); end;
Resum
En aquest tema, hem après sobre els tipus enumerats i subrang en Delphi/Object Pascal. Els tipus enumerats ens permeten definir conjunts de valors simbòlics, mentre que els tipus subrang ens permeten restringir els valors que una variable pot tenir. Aquests tipus de dades milloren la claredat, seguretat i mantenibilitat del codi.
En el proper tema, explorarem la gestió d'arxius en Delphi/Object Pascal.
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