Fiche technique | |
---|---|
Type de produit : | Bibliothèque |
Langage de programmation : | Free Pascal |
Auteur : | Free Pascal |
Date de publication : | 2007 à maintenant |
Site Web : | https://www.freepascal.org/fcl/fcl.html |
Introduction
La FCL, tirant son nom de l'abréviation Free Component Library, est une bibliothèque de composantes et de classes fournie avec le compilateur Free Pascal. Elle est conçue pour offrir une large gamme de fonctionnalités de base, similaires à la VCL (Visual Component Library) de Delphi, mais avec un focus sur la portabilité et l'indépendance vis-à-vis de toute plateforme spécifique.
Voici les caractéristiques principales du FCL :
- Portabilité : La FCL est conçue pour être multiplateforme. Elle fonctionne sur plusieurs systèmes d'exploitation, notamment Windows, Linux, macOS, BSD,...
- Composantes et classes de base : La FCL inclut des classes et des unités pour la manipulation des fichiers, des chaînes de caractères, des flux (streams), des dates et heures, des processus, des processus léger, des sockets, des fichiers XML, et bien d'autres tâches courantes de programmation.
- Communication et réseaux : Le FCL offre des unités pour les communications réseau, telles que fphttpclient (pour HTTP), ssockets (pour les sockets), et des modules pour gérer les protocoles courants.
- Traitement des fichiers et flux de données : Il existe des classes pour lire, écrire et manipuler des fichiers, que ce soit au niveau basique ou via des flux (streams), avec des fonctionnalités pour manipuler des fichiers texte, binaires, XML, JSON,...
- Gestion des processus : La FCL contient des unités pour exécuter et interagir avec des processus système externes, gérer des pipes, des signaux,...
- Sérialisation et désérialisation : Support de la sérialisation via des classes comme TFPJSONSerializer pour JSON, ou des classes XML pour travailler avec des fichiers XML.
Voici quelques exemples de modules et d'unités FCL :
Catégorie | Description |
---|---|
Classes de base | SysUtils : Fonctions utilitaires système (gestion des fichiers, chaînes de caractères, exceptions). Classes : Gestion des listes, flux de données (streams), fichiers, processus léger,.... |
Communication réseau | fphttpclient : Client HTTP pour envoyer des requêtes HTTP. ssockets : Sockets simplifiés pour la communication réseau. |
Fichiers et données | XMLRead, XMLWrite : Lecture et écriture de fichiers XML. fpjson, jsonparser : Lecture, écriture et manipulation de données JSON. |
Gestion des processus | Process : Exécution de processus externes, capture de sortie, gestion des pipes. |
Relation avec la LCL et la RTL
Nom | Description |
---|---|
RTL (Run-Time Library) | C'est la bibliothèque de base de Free Pascal, contenant des classes et des fonctions fondamentales pour la gestion de la mémoire, des types de données primitifs, et l'interaction de bas niveau avec le système d'exploitation. |
LCL (Lazarus Component Library) | Basée sur la FCL, la LCL ajoute des composants visuels et non-visuels pour la création d'applications graphiques multiplateformes avec Lazarus. Elle est comparable à la VCL de Delphi. |