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

  1. Esdeveniments: Accions o successos que poden ser detectats pel programa.
  2. Controladors d'Esdeveniments: Funcions o procediments que s'executen en resposta a un esdeveniment.
  3. 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

  1. Declaració del Component: Button1: TButton; declara un botó anomenat Button1.
  2. Associació de l'Esdeveniment: procedure Button1Click(Sender: TObject); és el controlador d'esdeveniments que s'executarà quan es faci clic al botó.
  3. 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

  1. Selecciona el component (per exemple, un botó) en el dissenyador de formularis.
  2. A la finestra d'Object Inspector, selecciona la pestanya "Events".
  3. Fes doble clic en l'esdeveniment que vols gestionar (per exemple, OnClick).

Creació Manual

  1. Declara el procediment en la secció type de la unitat.
  2. Implementa el procediment en la secció implementation.
  3. Assigna el procediment a l'esdeveniment del component.
Button1.OnClick := Button1Click;

Exercicis Pràctics

Exercici 1: Crear un Botó que Canvia el Text d'una Etiqueta

  1. Afegeix un botó (TButton) i una etiqueta (TLabel) al formulari.
  2. Crea un controlador d'esdeveniments OnClick per al botó que canviï el text de l'etiqueta.
procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Caption := 'Text canviat!';
end;

Exercici 2: Crear un Camp de Text que Mostra un Missatge quan es Modifica

  1. Afegeix un camp de text (TEdit) al formulari.
  2. Crea un controlador d'esdeveniments OnChange per al camp de text que mostri un missatge quan el text es modifica.
procedure TForm1.Edit1Change(Sender: TObject);
begin
  ShowMessage('El text ha canviat!');
end;

Errors Comuns i Consells

  1. No Assignar l'Esdeveniment Correctament: Assegura't que el controlador d'esdeveniments està assignat correctament al component.
  2. 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

Mòdul 2: Estructures de Control i Procediments

Mòdul 3: Treballant amb Dades

Mòdul 4: Programació Orientada a Objectes

Mòdul 5: Funcions Avançades de Delphi

Mòdul 6: Desenvolupament d'Interfícies Gràfiques amb VCL i FMX

Mòdul 7: Desenvolupament Web i Mòbil

Mòdul 8: Millors Pràctiques i Patrons de Disseny

Mòdul 9: Projecte Final

© Copyright 2024. Tots els drets reservats