La programació basada en esdeveniments és un paradigma de programació en el qual el flux del programa està determinat per esdeveniments com ara accions de l'usuari (clics de botó, moviments del ratolí, etc.), missatges del sistema o altres tipus de senyals. En Delphi, aquest tipus de programació és fonamental per al desenvolupament d'aplicacions gràfiques amb VCL (Visual Component Library).
Conceptes Clau
- Esdeveniments: Accions o successos que poden ser detectats pel programa.
- Controladors d'Esdeveniments: Funcions o procediments que s'executen en resposta a un esdeveniment.
- Components VCL: Elements de la interfície gràfica que poden generar esdeveniments (botons, caixes de text, etc.).
Components VCL i Esdeveniments
Els components VCL són la base de les aplicacions gràfiques en Delphi. Cada component pot generar diversos esdeveniments. Per exemple, un botó (TButton
) pot generar un esdeveniment OnClick
quan l'usuari fa clic sobre ell.
Exemple Pràctic: Botó amb Esdeveniment OnClick
A continuació, es mostra un exemple pràctic de com crear un botó i associar-li un controlador d'esdeveniments OnClick
.
unit Unit1; interface uses System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Botó clicat!'); end; end.
Explicació del Codi
- Declaració del Component:
Button1: TButton;
declara un botó anomenatButton1
. - Associació de l'Esdeveniment:
procedure Button1Click(Sender: TObject);
és el controlador d'esdeveniments que s'executarà quan es faci clic al botó. - Implementació del Controlador:
ShowMessage('Botó clicat!');
mostra un missatge quan es fa clic al botó.
Creació de Controladors d'Esdeveniments
Els controladors d'esdeveniments es poden crear de manera manual o automàtica. Delphi proporciona una manera fàcil de crear controladors d'esdeveniments automàticament a través de l'IDE.
Creació Automàtica
- Selecciona el component (per exemple, un botó) en el dissenyador de formularis.
- A la finestra d'Object Inspector, selecciona la pestanya "Events".
- Fes doble clic en l'esdeveniment que vols gestionar (per exemple,
OnClick
).
Creació Manual
- Declara el procediment en la secció
type
de la unitat. - Implementa el procediment en la secció
implementation
. - Assigna el procediment a l'esdeveniment del component.
Exercicis Pràctics
Exercici 1: Crear un Botó que Canvia el Text d'una Etiqueta
- Afegeix un botó (
TButton
) i una etiqueta (TLabel
) al formulari. - Crea un controlador d'esdeveniments
OnClick
per al botó que canviï el text de l'etiqueta.
Exercici 2: Crear un Camp de Text que Mostra un Missatge quan es Modifica
- Afegeix un camp de text (
TEdit
) al formulari. - Crea un controlador d'esdeveniments
OnChange
per al camp de text que mostri un missatge quan el text es modifica.
Errors Comuns i Consells
- No Assignar l'Esdeveniment Correctament: Assegura't que el controlador d'esdeveniments està assignat correctament al component.
- No Gestionar Excepcions: Sempre és una bona pràctica gestionar possibles excepcions dins dels controladors d'esdeveniments per evitar que l'aplicació es bloquegi.
procedure TForm1.Button1Click(Sender: TObject); begin try // Codi que pot generar una excepció except on E: Exception do ShowMessage('Error: ' + E.Message); end; end;
Resum
En aquesta secció, hem après els conceptes bàsics de la programació basada en esdeveniments en Delphi, com crear i associar controladors d'esdeveniments als components VCL, i hem vist exemples pràctics per reforçar els conceptes. La programació basada en esdeveniments és essencial per al desenvolupament d'aplicacions interactives i responsives.
En la següent secció, explorarem FireMonkey (FMX), una plataforma poderosa per al desenvolupament d'aplicacions gràfiques multiplataforma.
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