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
- Obre Delphi.
- Selecciona File > New > Multi-Device Application - Delphi.
- Tria una plantilla de projecte (per exemple, Blank Application).
Pas 2: Configurar les Plataformes de Destinació
- A la finestra del Project Manager, fes clic dret sobre el projecte i selecciona Add Platform.
- Selecciona les plataformes desitjades (Windows, macOS, iOS, Android, etc.).
Pas 3: Dissenyar la Interfície d'Usuari
- Utilitza el Form Designer per arrossegar i deixar anar components visuals al formulari.
- 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 | Sí |
Creació d'una Aplicació Bàsica amb FireMonkey
Exemple Pràctic: Aplicació "Hola, Món!"
-
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.
-
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
-
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
- Crea un nou projecte FireMonkey.
- Afegeix dos botons (
Button1
iButton2
) i una etiqueta (Label1
). - Configura els botons amb els textos "Hola" i "Adéu".
- Escriu el codi per mostrar "Hola, Món!" quan es prem
Button1
i "Adéu, Món!" quan es premButton2
.
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
- 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