FireMonkey (FMX) és un framework de desenvolupament d'aplicacions multiplataforma proporcionat per Embarcadero per a Delphi i C++Builder. Permet als desenvolupadors crear aplicacions per a Windows, macOS, iOS, Android i Linux amb una única base de codi. FMX és conegut per la seva capacitat de crear interfícies d'usuari riques i interactives, aprofitant el maquinari gràfic de cada plataforma.

Objectius d'Aprenentatge

En aquesta secció, aprendràs:

  • Què és FireMonkey i les seves característiques principals.
  • Com configurar un projecte FireMonkey.
  • Les diferències entre VCL i FMX.
  • Crear una aplicació bàsica amb FireMonkey.

Característiques Principals de FireMonkey

  • Multiplataforma: Desenvolupa una vegada i desplega a múltiples plataformes.
  • Interfícies d'Usuari Riques: Suport per a gràfics 2D i 3D, animacions i efectes visuals.
  • Accés a Maquinari: Utilitza GPU per a renderitzar gràfics, millorant el rendiment.
  • Components Visuals: Una àmplia gamma de components visuals per a la creació d'interfícies d'usuari.
  • Estils: Suport per a estils personalitzats que permeten canviar l'aparença de l'aplicació fàcilment.

Configuració d'un Projecte FireMonkey

Pas 1: Crear un Nou Projecte

  1. Obre Delphi.
  2. Selecciona File > New > Multi-Device Application - Delphi.
  3. Tria una plantilla de projecte (per exemple, Blank Application).

Pas 2: Configurar les Plataformes de Destinació

  1. A la finestra del Project Manager, fes clic dret sobre el projecte i selecciona Add Platform.
  2. Selecciona les plataformes desitjades (Windows, macOS, iOS, Android, etc.).

Pas 3: Dissenyar la Interfície d'Usuari

  1. Utilitza el Form Designer per arrossegar i deixar anar components visuals al formulari.
  2. Configura les propietats dels components utilitzant l'Object Inspector.

Diferències entre VCL i FMX

Característica VCL FMX
Plataformes Només Windows Multiplataforma (Windows, macOS, iOS, Android, Linux)
Renderització GDI/GDI+ GPU (DirectX, OpenGL, Metal)
Components Components clàssics de Windows Components moderns i estilitzables
Estils Limitats Suport complet per a estils personalitzats
Gràfics 3D No

Creació d'una Aplicació Bàsica amb FireMonkey

Exemple Pràctic: Aplicació "Hola, Món!"

  1. Crear el Projecte:

    program HelloWorldFMX;
    
    uses
      System.StartUpCopy,
      FMX.Forms,
      Unit1 in 'Unit1.pas' {Form1};
    
    {$R *.res}
    
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
    
  2. Dissenyar el Formulari:

    • Arrossega un TButton i un TLabel al formulari.
    • Configura les propietats del botó:
      • Name: Button1
      • Text: Click Me
    • Configura les propietats de l'etiqueta:
      • Name: Label1
      • Text: Hello, World!
      • Visible: False
  3. Escriure el Codi de l'Esdeveniment:

    unit Unit1;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Label1: TLabel;
        procedure Button1Click(Sender: TObject);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.fmx}
    
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Label1.Visible := True;
    end;
    
    end.
    

Explicació del Codi

  • Unit1.pas: Conté la definició del formulari i els components.
  • Button1Click: Esdeveniment que es dispara quan es fa clic al botó. Fa visible l'etiqueta Label1.

Exercici Pràctic

Objectiu

Crea una aplicació FireMonkey que mostri un missatge diferent en funció del botó que es prem.

Instruccions

  1. Crea un nou projecte FireMonkey.
  2. Afegeix dos botons (Button1 i Button2) i una etiqueta (Label1).
  3. Configura els botons amb els textos "Hola" i "Adéu".
  4. Escriu el codi per mostrar "Hola, Món!" quan es prem Button1 i "Adéu, Món!" quan es prem Button2.

Solució

unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Label1.Text := 'Hola, Món!';
  Label1.Visible := True;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Label1.Text := 'Adéu, Món!';
  Label1.Visible := True;
end;

end.

Resum

En aquesta secció, has après què és FireMonkey, com configurar un projecte FireMonkey, les diferències entre VCL i FMX, i com crear una aplicació bàsica amb FireMonkey. Ara estàs preparat per explorar més funcions avançades de FireMonkey i crear aplicacions multiplataforma riques i interactives.

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