SlideShare a Scribd company logo
1 of 35
Download to read offline
Créer des composants visuels
sans faire de composant
Webinaire du 22 février 2019
(c) Patrick Prémartin / developpeur-pascal.fr
Au menu du jour
• Introduction
• Un composant, c’est quoi ?
• Créer un composant VCL
• Faire un pseudo composant visuel sans coder
• Etendre un composant existant dans FMX
• Créer un composant FMX
• Conclusion
• Questions / réponses
(c) Patrick Prémartin / developpeur-pascal.fr
Introduction
(c) Patrick Prémartin / developpeur-pascal.fr
Patrick Prémartin
• Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis toujours,
développeur web depuis NCSA Mosaic…
• Prestataire et formateur à travers sa société Olf Software.
• Editeur du blog https://developpeur-pascal.fr/
• MVP Embarcadero depuis octobre 2017.
• Auteur d’articles, de livres, webinariste et parfois même conférencier.
(c) Patrick Prémartin / developpeur-pascal.fr
A propos de Olf Software
• Depuis octobre 2001 la société de services Olf Software propose des
prestations de conseil, développement et formation sur les
technologies liées au web et au développement logiciel.
• La société édite également des livres, des sites Internet et des
logiciels.
• Site web principal : https://olfsoftware.fr
(c) Patrick Prémartin / developpeur-pascal.fr
Organisme de formation
• Olf Software propose des formations en lien avec Delphi.
• Des formations inter entreprises sont organisées régulièrement et
annoncées sur https://se-former-a-delphi.fr/
• Des formations intra entreprise personnalisées sont faisables sur demande
partout en France et en Europe.
• Olf Software est un organisme de formation professionnelle enregistré en
préfecture et référencé sur Datadock.
Nos formations peuvent être prises en charge par les OPCA.
(c) Patrick Prémartin / developpeur-pascal.fr
Les versions de Delphi
• Plusieurs licences de Delphi existent (vendu seul ou dans RAD Studio):
• Academic : pour les établissements d’enseignement et leurs étudiants
• Community Edition : gratuit pour tous, en licence commerciale limitée
• Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins
• Pour toutes informations sur les licences et les tarifs contactez la
société Barnsten sur https://www.barnsten.com/fr/
(c) Patrick Prémartin / developpeur-pascal.fr
Les webinaires précédents
• Je participe régulièrement à des webinaires. Une page leur est
consacrée sur mon blog à l’adresse https://vasur.fr/webinairesdelphi
• Vous y trouverez les rediffusions en vidéos lorsqu’elles sont
disponibles, un PDF de mes présentations, le lien vers les sources des
exemples présentés et des informations complémentaires.
• S’y trouvent aussi les dates et liens d’inscriptions pour les prochains
webinaires et les formations.
(c) Patrick Prémartin / developpeur-pascal.fr
Introduction
• Présentation de la société Olf Software
https://www.olfsoftware.fr
• Présentation de Patrick Prémartin
https://www.linkedin.com/in/patrickpremartin/
• Les différentes versions de Delphi
https://www.embarcadero.com/fr/products/delphi
• Voir ou revoir les webinaires précédents
https://vasur.fr/webinairesdelphi
(c) Patrick Prémartin / developpeur-pascal.fr
Un composant, c’est quoi ?
(c) Patrick Prémartin / developpeur-pascal.fr
Un composant, c’est quoi ?
• Delphi et C++Builder proposent des concepteurs de fiches pour
dessiner les écrans des logiciels et applications mobiles de façon
visuelle.
• Il suffit de glisser des objets, appelés composants, depuis une liste
vers l’écran.
(c) Patrick Prémartin / developpeur-pascal.fr
Un composant, c’est quoi ?
• Il existe deux types de composants : les visuels et les non visuels.
• Les composants visuels correspondent à des éléments de l’interface
utilisateur (boutons, champs de saisie, images, dessins, textes, …).
• Les composants non visuels servent uniquement aux développeurs
pour des menus, des bases de données, des images et tout un tas de
choses. Pour des raisons de simplicité d’usage ils se placent sur les
fiches comme les composants visuels mais n’ont pas d’impact pour
l’utilisateur.
(c) Patrick Prémartin / developpeur-pascal.fr
Exemples de composants
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Créer un composant VCL
(c) Patrick Prémartin / developpeur-pascal.fr
Créer un composant VCL
• Pour créer un composant utilisable dans un projet VCL c’est assez
simple : il suffit d’utiliser l’assistant qui génère une unité.
• Le hic, c’est qu’il faut tout programmer car c’est du code pur.
(c) Patrick Prémartin / developpeur-pascal.fr
Créer un composant VCL
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
• Pour les composants qui sont un assemblage d’autres composants
visuels, pourquoi devrions-nous tout coder à la main ?
• Les cadres (TFrame) sont là pour nous simplifier la vie !
• Le TFrame ressemble à une fiche mais n’en est pas une. Il est
utilisable comme n’importe quel composant visuel une fois référencé.
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
• Pour créer un TFrame on passe par l’assistant classique de création de
fiches ou d’unités.
• On remplit notre TFrame, on y ajoute nos méthodes, on gère le code
associé aux éléments que l’on place dessus et au final on l’enregistre.
• Pour que le TFrame soit disponible pour les autres fiches il suffit de
l’ajouter à la palette.
(c) Patrick Prémartin / developpeur-pascal.fr
Simuler un composant VCL
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Simuler un composant FMX
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
• Si on y regarde de plus près, on constate donc que TFrame peut
s’ajouter à la palette des composants et se comporte comme un
composant…
• Serait-ce un composant ?
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
• Si on y regarde de plus près, on constate donc que TFrame peut
s’ajouter à la palette des composants et se comporte comme un
composant…
• Serait-ce un composant ?
• La réponse est oui : il a TComponent comme ancêtre !
(c) Patrick Prémartin / developpeur-pascal.fr
Faire un pseudo composant
visuel sans coder
• TFrame héritant de TComponent c’est donc bel et bien un composant.
• On peut jouer avec lui comme on le ferait avec un composant maison.
• On peut donc lui ajouter des propriétés et des événements…
• Transformons notre TFrame en composant exploitable comme les
autres par l’inspecteur de propriétés.
(c) Patrick Prémartin / developpeur-pascal.fr
Convertir un TFrame en
composant visuel
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Etendre un composant
existant dans FMX
(c) Patrick Prémartin / developpeur-pascal.fr
Etendre un composant existant
dans FMX
• Avec FireMonkey on peut aller encore plus loin grâce aux styles FMX.
• Rappel : un composant visuel dans FMX est à la base un assemblage
de formes et de lignes de code.
(c) Patrick Prémartin / developpeur-pascal.fr
Etendre un composant existant
dans FMX
• On peut modifier complètement un composant FMX en modifiant le
style qui lui est associé. La seule contrainte est de conserver des
éléments nommés comme ceux d’origine pour ne pas planter le code
existant.
• C’est pour ça qu’il est plus simple de partir d’un layout vide quand on
crée nos propres composants mais on peut étendre un composant
existant si on le désire.
(c) Patrick Prémartin / developpeur-pascal.fr
Etendre un composant FMX
Démonstration
(c) Patrick Prémartin / developpeur-pascal.fr
Créer un composant FMX
(c) Patrick Prémartin / developpeur-pascal.fr
Créer un composant FMX
• La création d’un composant FMX se fait comme la création d’un
composant VCL à la différence près qu’on peut choisir d’utiliser les
styles plutôt que du code pour dessiner le composant.
• Je vous laisse consulter la documentation sur le sujet. Nous y
reviendrons sans doute une prochaine fois en webinaire ou plus
probablement sur une journée de formation pour les personnes
intéressées.
(c) Patrick Prémartin / developpeur-pascal.fr
Conclusion
(c) Patrick Prémartin / developpeur-pascal.fr
Conclusion
• Chaque framework lié à un concepteur de fiches sous Delphi a sa
propre hiérarchie de composants. Nous l’avons vu pour la VCL et
FireMonkey. C’est pareil pour IntraWeb, UniGUI, TMS Web Core et
tous les outils tiers permettant de générer des interfaces utilisateurs
basées sur Delphi.
• Pour faire un composant il faut généralement tout faire à la main.
• Nous avons vu qu’avec des Tframe sur la VCL ou FMX on arrive à
simuler simplement des composants utilisables dans nos projets.
• La palme de la conception de composants personnalisables revenant
à FireMonkey avec son mélange de styles et de code.
(c) Patrick Prémartin / developpeur-pascal.fr
Conclusion
• Ce webinaire et les sources des démos seront rapidement mis à
disposition sur le blog https://developpeur-pascal.fr
• Les prochains événements en live :
=> c’est pour très bientôt J
• Les prochains événements en ligne :
=> webinaire sur l’utilisation de QR Code le 26 mars
• Surveillez vos emails pour les prochaines dates.
(c) Patrick Prémartin / developpeur-pascal.fr
Questions / réponses
(c) Patrick Prémartin / developpeur-pascal.fr

More Related Content

What's hot

Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distancepprem
 
Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Alex Bortolotti
 
TIBCO ESB BW5 - Integration With ActiveMQ 5
TIBCO ESB BW5 - Integration With ActiveMQ 5TIBCO ESB BW5 - Integration With ActiveMQ 5
TIBCO ESB BW5 - Integration With ActiveMQ 5Dieudonné MIAFFO ✅
 
Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Componentscjolif
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les ProfessionnelsFabien Potencier
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation Microsoft
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXpprem
 

What's hot (7)

Déploiement et débogage à distance
Déploiement et débogage à distanceDéploiement et débogage à distance
Déploiement et débogage à distance
 
Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014Trouvez le Thème WordPress Idéal - WordCamp 2014
Trouvez le Thème WordPress Idéal - WordCamp 2014
 
TIBCO ESB BW5 - Integration With ActiveMQ 5
TIBCO ESB BW5 - Integration With ActiveMQ 5TIBCO ESB BW5 - Integration With ActiveMQ 5
TIBCO ESB BW5 - Integration With ActiveMQ 5
 
Etendre le Web avec les Web Components
Etendre le Web avec les Web ComponentsEtendre le Web avec les Web Components
Etendre le Web avec les Web Components
 
symfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnelssymfony : Un Framework Open-Source pour les Professionnels
symfony : Un Framework Open-Source pour les Professionnels
 
La Meta-programmation
La Meta-programmation La Meta-programmation
La Meta-programmation
 
Internationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMXInternationaliser les projets VCL / FMX
Internationaliser les projets VCL / FMX
 

Similar to Créer des composants visuels sans faire de composant

Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLpprem
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéopprem
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphipprem
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMXpprem
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !pprem
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeypprem
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphipprem
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphipprem
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitairespprem
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyonClement Bouillier
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicEmmanuel Hugonnet
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache MavenArnaud Héritier
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange LabsEmmanuel Hugonnet
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLpprem
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !VISEO
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourpprem
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphipprem
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de donnéespprem
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache MavenArnaud Héritier
 

Similar to Créer des composants visuels sans faire de composant (20)

Découvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCLDécouvrez FireDAC pour la VCL
Découvrez FireDAC pour la VCL
 
Utiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéoUtiliser FireMonkey comme moteur de jeux vidéo
Utiliser FireMonkey comme moteur de jeux vidéo
 
QR codes et codes à barres sous Delphi
QR codes et codes à barres sous DelphiQR codes et codes à barres sous Delphi
QR codes et codes à barres sous Delphi
 
Découvrez FireDAC pour FMX
Découvrez FireDAC pour FMXDécouvrez FireDAC pour FMX
Découvrez FireDAC pour FMX
 
Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !Coder sans coder : Delphi en mode no code !
Coder sans coder : Delphi en mode no code !
 
Faire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkeyFaire une interface adaptive avec FireMonkey
Faire une interface adaptive avec FireMonkey
 
Faire des applications web avec Delphi
Faire des applications web avec DelphiFaire des applications web avec Delphi
Faire des applications web avec Delphi
 
Développer une application pour Android TV avec Delphi
Développer une application pour Android TV avec DelphiDévelopper une application pour Android TV avec Delphi
Développer une application pour Android TV avec Delphi
 
Delphi et les tests unitaires
Delphi et les tests unitairesDelphi et les tests unitaires
Delphi et les tests unitaires
 
20131024 qualité de code et sonar - mug lyon
20131024   qualité de code et sonar - mug lyon20131024   qualité de code et sonar - mug lyon
20131024 qualité de code et sonar - mug lyon
 
At2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville PublicAt2008 Grenoble Hugonnet Sanlaville Public
At2008 Grenoble Hugonnet Sanlaville Public
 
20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven20090615 - Ch'ti JUG - Apache Maven
20090615 - Ch'ti JUG - Apache Maven
 
Usine logicielle à Orange Labs
Usine logicielle à Orange LabsUsine logicielle à Orange Labs
Usine logicielle à Orange Labs
 
Faire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCLFaire une interface adaptive avec la VCL
Faire une interface adaptive avec la VCL
 
Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !Javascript as a first programming language : votre IC prête pour la révolution !
Javascript as a first programming language : votre IC prête pour la révolution !
 
Diffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jourDiffuser nos logiciels et leurs mises à jour
Diffuser nos logiciels et leurs mises à jour
 
Utilisation de git avec Delphi
Utilisation de git avec DelphiUtilisation de git avec Delphi
Utilisation de git avec Delphi
 
Des solutions de synchronisation de données
Des solutions de synchronisation de donnéesDes solutions de synchronisation de données
Des solutions de synchronisation de données
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven20081113 - Nantes Jug - Apache Maven
20081113 - Nantes Jug - Apache Maven
 

More from pprem

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game enginepprem
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environmentpprem
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeypprem
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?pprem
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilespprem
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Androidpprem
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de fraispprem
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...pprem
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succèspprem
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internetpprem
 
Trafic
TraficTrafic
Traficpprem
 

More from pprem (11)

Using FireMonkey as a game engine
Using FireMonkey as a game engineUsing FireMonkey as a game engine
Using FireMonkey as a game engine
 
Using Delphi as a no code development environment
Using Delphi as a no code development environmentUsing Delphi as a no code development environment
Using Delphi as a no code development environment
 
Easy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkeyEasy coding a multi device game with FireMonkey
Easy coding a multi device game with FireMonkey
 
Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?Quoi de neuf dans la version 11 Alexandria ?
Quoi de neuf dans la version 11 Alexandria ?
 
Sauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobilesSauvegarder et restaurer l'état des applications mobiles
Sauvegarder et restaurer l'état des applications mobiles
 
Gérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et AndroidGérer le clavier virtuel sous iOS et Android
Gérer le clavier virtuel sous iOS et Android
 
POC Notes de frais
POC Notes de fraisPOC Notes de frais
POC Notes de frais
 
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
Présentation de Delphi 10.4 Sydney, C++Builder 10.4 Sydney et RAD Studio 10.4...
 
Comment écrire des articles de blog à succès
Comment écrire des articles de blog à succèsComment écrire des articles de blog à succès
Comment écrire des articles de blog à succès
 
Gagner de l'argent sur Internet
Gagner de l'argent sur InternetGagner de l'argent sur Internet
Gagner de l'argent sur Internet
 
Trafic
TraficTrafic
Trafic
 

Créer des composants visuels sans faire de composant

  • 1. Créer des composants visuels sans faire de composant Webinaire du 22 février 2019 (c) Patrick Prémartin / developpeur-pascal.fr
  • 2. Au menu du jour • Introduction • Un composant, c’est quoi ? • Créer un composant VCL • Faire un pseudo composant visuel sans coder • Etendre un composant existant dans FMX • Créer un composant FMX • Conclusion • Questions / réponses (c) Patrick Prémartin / developpeur-pascal.fr
  • 3. Introduction (c) Patrick Prémartin / developpeur-pascal.fr
  • 4. Patrick Prémartin • Ancien utilisateur de Turbo Pascal, amoureux de Delphi depuis toujours, développeur web depuis NCSA Mosaic… • Prestataire et formateur à travers sa société Olf Software. • Editeur du blog https://developpeur-pascal.fr/ • MVP Embarcadero depuis octobre 2017. • Auteur d’articles, de livres, webinariste et parfois même conférencier. (c) Patrick Prémartin / developpeur-pascal.fr
  • 5. A propos de Olf Software • Depuis octobre 2001 la société de services Olf Software propose des prestations de conseil, développement et formation sur les technologies liées au web et au développement logiciel. • La société édite également des livres, des sites Internet et des logiciels. • Site web principal : https://olfsoftware.fr (c) Patrick Prémartin / developpeur-pascal.fr
  • 6. Organisme de formation • Olf Software propose des formations en lien avec Delphi. • Des formations inter entreprises sont organisées régulièrement et annoncées sur https://se-former-a-delphi.fr/ • Des formations intra entreprise personnalisées sont faisables sur demande partout en France et en Europe. • Olf Software est un organisme de formation professionnelle enregistré en préfecture et référencé sur Datadock. Nos formations peuvent être prises en charge par les OPCA. (c) Patrick Prémartin / developpeur-pascal.fr
  • 7. Les versions de Delphi • Plusieurs licences de Delphi existent (vendu seul ou dans RAD Studio): • Academic : pour les établissements d’enseignement et leurs étudiants • Community Edition : gratuit pour tous, en licence commerciale limitée • Professional, Enterprise, Architect : pour les entreprises, selon leurs besoins • Pour toutes informations sur les licences et les tarifs contactez la société Barnsten sur https://www.barnsten.com/fr/ (c) Patrick Prémartin / developpeur-pascal.fr
  • 8. Les webinaires précédents • Je participe régulièrement à des webinaires. Une page leur est consacrée sur mon blog à l’adresse https://vasur.fr/webinairesdelphi • Vous y trouverez les rediffusions en vidéos lorsqu’elles sont disponibles, un PDF de mes présentations, le lien vers les sources des exemples présentés et des informations complémentaires. • S’y trouvent aussi les dates et liens d’inscriptions pour les prochains webinaires et les formations. (c) Patrick Prémartin / developpeur-pascal.fr
  • 9. Introduction • Présentation de la société Olf Software https://www.olfsoftware.fr • Présentation de Patrick Prémartin https://www.linkedin.com/in/patrickpremartin/ • Les différentes versions de Delphi https://www.embarcadero.com/fr/products/delphi • Voir ou revoir les webinaires précédents https://vasur.fr/webinairesdelphi (c) Patrick Prémartin / developpeur-pascal.fr
  • 10. Un composant, c’est quoi ? (c) Patrick Prémartin / developpeur-pascal.fr
  • 11. Un composant, c’est quoi ? • Delphi et C++Builder proposent des concepteurs de fiches pour dessiner les écrans des logiciels et applications mobiles de façon visuelle. • Il suffit de glisser des objets, appelés composants, depuis une liste vers l’écran. (c) Patrick Prémartin / developpeur-pascal.fr
  • 12. Un composant, c’est quoi ? • Il existe deux types de composants : les visuels et les non visuels. • Les composants visuels correspondent à des éléments de l’interface utilisateur (boutons, champs de saisie, images, dessins, textes, …). • Les composants non visuels servent uniquement aux développeurs pour des menus, des bases de données, des images et tout un tas de choses. Pour des raisons de simplicité d’usage ils se placent sur les fiches comme les composants visuels mais n’ont pas d’impact pour l’utilisateur. (c) Patrick Prémartin / developpeur-pascal.fr
  • 13. Exemples de composants Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 14. Créer un composant VCL (c) Patrick Prémartin / developpeur-pascal.fr
  • 15. Créer un composant VCL • Pour créer un composant utilisable dans un projet VCL c’est assez simple : il suffit d’utiliser l’assistant qui génère une unité. • Le hic, c’est qu’il faut tout programmer car c’est du code pur. (c) Patrick Prémartin / developpeur-pascal.fr
  • 16. Créer un composant VCL Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 17. Faire un pseudo composant visuel sans coder (c) Patrick Prémartin / developpeur-pascal.fr
  • 18. Faire un pseudo composant visuel sans coder • Pour les composants qui sont un assemblage d’autres composants visuels, pourquoi devrions-nous tout coder à la main ? • Les cadres (TFrame) sont là pour nous simplifier la vie ! • Le TFrame ressemble à une fiche mais n’en est pas une. Il est utilisable comme n’importe quel composant visuel une fois référencé. (c) Patrick Prémartin / developpeur-pascal.fr
  • 19. Faire un pseudo composant visuel sans coder • Pour créer un TFrame on passe par l’assistant classique de création de fiches ou d’unités. • On remplit notre TFrame, on y ajoute nos méthodes, on gère le code associé aux éléments que l’on place dessus et au final on l’enregistre. • Pour que le TFrame soit disponible pour les autres fiches il suffit de l’ajouter à la palette. (c) Patrick Prémartin / developpeur-pascal.fr
  • 20. Simuler un composant VCL Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 21. Simuler un composant FMX Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 22. Faire un pseudo composant visuel sans coder • Si on y regarde de plus près, on constate donc que TFrame peut s’ajouter à la palette des composants et se comporte comme un composant… • Serait-ce un composant ? (c) Patrick Prémartin / developpeur-pascal.fr
  • 23. Faire un pseudo composant visuel sans coder • Si on y regarde de plus près, on constate donc que TFrame peut s’ajouter à la palette des composants et se comporte comme un composant… • Serait-ce un composant ? • La réponse est oui : il a TComponent comme ancêtre ! (c) Patrick Prémartin / developpeur-pascal.fr
  • 24. Faire un pseudo composant visuel sans coder • TFrame héritant de TComponent c’est donc bel et bien un composant. • On peut jouer avec lui comme on le ferait avec un composant maison. • On peut donc lui ajouter des propriétés et des événements… • Transformons notre TFrame en composant exploitable comme les autres par l’inspecteur de propriétés. (c) Patrick Prémartin / developpeur-pascal.fr
  • 25. Convertir un TFrame en composant visuel Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 26. Etendre un composant existant dans FMX (c) Patrick Prémartin / developpeur-pascal.fr
  • 27. Etendre un composant existant dans FMX • Avec FireMonkey on peut aller encore plus loin grâce aux styles FMX. • Rappel : un composant visuel dans FMX est à la base un assemblage de formes et de lignes de code. (c) Patrick Prémartin / developpeur-pascal.fr
  • 28. Etendre un composant existant dans FMX • On peut modifier complètement un composant FMX en modifiant le style qui lui est associé. La seule contrainte est de conserver des éléments nommés comme ceux d’origine pour ne pas planter le code existant. • C’est pour ça qu’il est plus simple de partir d’un layout vide quand on crée nos propres composants mais on peut étendre un composant existant si on le désire. (c) Patrick Prémartin / developpeur-pascal.fr
  • 29. Etendre un composant FMX Démonstration (c) Patrick Prémartin / developpeur-pascal.fr
  • 30. Créer un composant FMX (c) Patrick Prémartin / developpeur-pascal.fr
  • 31. Créer un composant FMX • La création d’un composant FMX se fait comme la création d’un composant VCL à la différence près qu’on peut choisir d’utiliser les styles plutôt que du code pour dessiner le composant. • Je vous laisse consulter la documentation sur le sujet. Nous y reviendrons sans doute une prochaine fois en webinaire ou plus probablement sur une journée de formation pour les personnes intéressées. (c) Patrick Prémartin / developpeur-pascal.fr
  • 32. Conclusion (c) Patrick Prémartin / developpeur-pascal.fr
  • 33. Conclusion • Chaque framework lié à un concepteur de fiches sous Delphi a sa propre hiérarchie de composants. Nous l’avons vu pour la VCL et FireMonkey. C’est pareil pour IntraWeb, UniGUI, TMS Web Core et tous les outils tiers permettant de générer des interfaces utilisateurs basées sur Delphi. • Pour faire un composant il faut généralement tout faire à la main. • Nous avons vu qu’avec des Tframe sur la VCL ou FMX on arrive à simuler simplement des composants utilisables dans nos projets. • La palme de la conception de composants personnalisables revenant à FireMonkey avec son mélange de styles et de code. (c) Patrick Prémartin / developpeur-pascal.fr
  • 34. Conclusion • Ce webinaire et les sources des démos seront rapidement mis à disposition sur le blog https://developpeur-pascal.fr • Les prochains événements en live : => c’est pour très bientôt J • Les prochains événements en ligne : => webinaire sur l’utilisation de QR Code le 26 mars • Surveillez vos emails pour les prochaines dates. (c) Patrick Prémartin / developpeur-pascal.fr
  • 35. Questions / réponses (c) Patrick Prémartin / developpeur-pascal.fr