Les meilleurs cours et tutoriels pour apprendre la programmation Delphi
Les meilleurs cours et tutoriels pour apprendre la programmation Delphi
Une sélection des meilleurs tutoriels et cours gratuits pour apprendre la programmation avec Delphi, que vous soyez débutant(e) ou développeur(euse) confirmé(e).
Complétez votre formation ou votre découverte avec notre sélection des meilleurs livres. N'hésitez pas à également vous référer à la FAQ Delphi, aux nombreux codes sources téléchargeables et à poser vos questions sur les forums d'entraide.
Page lue fois.
Nombre d´auteurs : 140, nombre d´articles : 64, dernière mise à jour : 15 août 2022
Pour débuter
-
Excellent guide d'initiation à Delphi et au langage Pascal Objet : très bien organisé et très agréable à suivre. En effet, son auteur a utilisé ses talents de pédagogue pour en faire un vrai cours : il est découpé en chapitres comportant chacun du cours, des exercices et les corrigés détaillés. Des miniprojets permettent de s'entraîner soi-même à manipuler les notions les plus importantes. L'ensemble est téléchargeable pour être consulté hors connexion à Internet.
Sommaire
menu
Cours
-
Un tutoriel sur la conception, la création et la distribution de composants Delphi. -
Ce Guide est une présentation générale de la conception des composants et du processus d'écriture des composants pour les applications Delphi.
Documentation officielle, 194 pages au format PDF(2,3 Mo). -
Ce tutoriel a pour ambition d'expliquer rapidement aux débutants comment réaliser ses propres composants. Il n'est pas exhaustif et vous pourrez sûrement trouver ailleurs des tutoriels plus complets sur ce sujet. Car mon but n'est pas de tout vous expliquer. D'ailleurs, je ne connais pas tout... loin de là. J'essaie seulement de montrer aux débutants les principes de la création de composants. -
Cet article vous expliquera comment créer dynamiquement des composants. Il est parfois utile de créer des composants pendant l'exécution pour plusieurs raisons : si on ne sait pas de combien de composants on aura besoin. -
Ce tutoriel traite de l'implémentation en Delphi du framework AOP (programmation orientée aspect) basée sur le modèle objet COM, décrit dans un article paru dans le magazine MSDN de mars 2002. -
Nombreux sont les développeurs Delphi qui ont eu ce problème : celui d'insérer un composant défini dans une dll/un paquet dans une fiche de l'application. Il existe plusieurs solutions à ce problème. Deux d'entre elles vont vous être exposées ici. La première, basée sur les paquets Borland, est l'idée de Clorish. Cette méthode a le mérite d'être simple à mettre en œuvre, tant que l'on n'a pas besoin de communication importante avec le plugin. La seconde, basée sur les interfaces, est l'idée de sjrd. Celle-ci est beaucoup plus longue et complexe à réaliser, mais permet une énorme souplesse de communication.
menu
VCL
-
Basé sur la classe TDataSet pour les composants ensemble de données, le composant TObjectDataSet sert de conteneur d'objets en gérant des objets de même type au lieu d'enregistrements tout en offrant la persistance des objets dans un fichier.
L'intérêt d'un tel composant est de pouvoir utiliser normalement tous les contrôles orientés données de Delphi pour manipuler et modifier des objets au lieu d'enregistrements, tout comme on le ferait avec le composant TTable par exemple. -
Creér et utiliser ses propres boutons dans les applications Delphi. -
Tous ceux qui à présent ont fait des applications MDI se sont rendu compte de la difficulté de mettre une image dans le fond. -
Comment trier un TList contenant des enregistrements (record) de différentes natures ? -
Les bases sur le composant graphique principal de Delphi -
Cet article propose une solution d'implémentation des fenêtres de type Assistant en utilisant les cadres (TFrame).
menu
FMX (FireMonkey)
-
Les contrôles VCL sont dessinés par l'OS alors que les contrôles le sont entièrement par FireMonkey lui-même. Cela veut dire que FireMonkey, et par là même votre application, a un contrôle total sur chaque rendu de votre application. Les styles permettent de changer radicalement l'apparence de votre application ou d'un contrôle particulier. -
Ce tutoriel nous mène jusqu'à la réalisation d'un petit jeu de type Pong en 3D avec Delphi. Pour cela, nous utilisons le framework FireMonkey. Sans toucher au code mais simplement en recompilant, vous pourrez faire tourner l'application sous Windows et MAC OS X. Si vous disposez du plugin Mobile ou d'une version Enterprise de Delphi, vous pourrez le compiler aussi pour iOS et Android. -
Ce tutoriel va montrer la réalisation d'un nouveau petit jeu en 3D avec Delphi en utilisant le framework FireMonkey (FMX). Après le premier tutoriel qui reprenait le jeu Pong, l'auteur s'est inspiré d'un autre jeu moins connu : The Light Corridor (c'était sur Atari ST et Amiga 500, toute une époque !). -
Dans le cadre de la découverte de la 3D avec Firemonkey, nous allons nous intéresser à la construction d’une scène en 3D en extérieur. Pour ce faire, nous allons aborder plusieurs notions au cours d’une série de tutoriels. Ce premier épisode va nous permettre de générer des paysages en 3D en utilisant la technique du champ de hauteur (ou heightmap). -
Après un premier épisode qui nous a permis de planter le décor, ce deuxième épisode va nous apprendre à nous orienter et nous déplacer dans notre petit monde virtuel en 3D. -
Après avoir créé un monde virtuel en 3D dans le premier épisode, puis avoir appris à s’y déplacer dans le deuxième, ce troisième épisode va permettre d’agrémenter notre projet de diverses améliorations. -
Voici le quatrième et dernier épisode de la série de tutoriels consacrée à la création d’un monde virtuel en 3D avec Delphi et Firemonkey. Dans cet épisode, on met en place la détection des collisions afin de rendre plus réaliste le déplacement du joueur. -
FMX : Mettre de la couleur dans un TListView - Utilisation de l'apparence dynamique
par Serge GirardMettre en exergue, via une couleur de fond, l'élément d'un TListView est une question fréquemment posée. Les solutions proposées ne sont pas toujours simples à mettre en œuvre, car, contrairement à une liste simple (TListBox), on ne peut pas passer par des styles personnalisés pour le faire. L'apparition de l'apparence dynamique d'un élément de liste, lors de la sortie de la version Berlin 10.1, va permettre de le faire très simplement. -
Introduction au LiveBindings avec Delphi - LiveBindings avec TObject et TObjectList
par Didier CabaléL'objet de cet article est de montrer comment lier un contrôle visuel (TEdit, TStringGrid…) à un objet (descendant d'un TObject). Le framework utilisé est LiveBindings et se concentrera sur son emploi avec TObject et TObjectList. -
L'objectif de cette première partie est de comprendre pourquoi les LiveBindings sont apparus et ce qu'ils peuvent apporter. -
Le but de cet épisode est de découvrir comment ajouter nos propres méthodes et de mettre en lumière des fonctionnalités assez intéressantes liées à l'utilisation des LiveBindings. -
LiveBindings de A à ... Épisode 2b : Effets de bord - Utiliser l'évaluateur d'expressions
par Serge GirardCet épisode continue l'exploration des techniques relatives aux LiveBindings avec l'utilisation de l'interpréteur d'expressions, ainsi que l'ajout de méthodes, y compris personnelles, l'accès aux classes ou encore la création de DLL. -
LiveBindings de A à ... Épisode 3 : TPrototypeBindSource, une base de données sans SGBD
par Serge GirardAu lieu d'aborder directement la relation LiveBindings et bases de données, même les possesseurs d'une version starter pouvant s'y frotter via un TClientDataset, l'auteur préfère aborder cette relation par une approche objet.
Pourquoi ? Tout d'abord parce que, pour de petites applications, on n'a pas toujours besoin d'utiliser un SGBD, mais aussi parce qu'une approche objet est intéressante d'un point de vue échange de données, en particulier avec JSON. -
Au cours de l'introduction aux LiveBindings a été utilisé un VCL.TTrackBar et en particulier sa propriété Position. Nous y avions découvert que ce composant n'était pas observable et un contournement avait alors été proposé pour résoudre ce problème : l’utilisation d’un lien non géré et l’instruction Notify. L'objectif de ce tutoriel est d'apprendre à rendre une propriété d'un composant observable et même d’ajouter d’autres propriétés qui pourront être liées. -
L’objectif de cet article est de démonter le mécanisme d’un autre composant : TPrototypeBindSource. Ce composant est en fait un condensé de deux autres, TDataGeneratorAdapter et TAdapterBindSource. Utiliser ces composants permet d’employer Livebindings pour nos propres objets. Vous verrez également comment ajouter des liaisons à l’exécution du programme, de telle sorte que l’on puisse (avec une bonne dose d’habitude) se passer du concepteur visuel de liaisons. -
L'aspect le plus déstabilisant lorsque l'on aborde la création d'une application multiplate-forme utilisant des bases de données est l'absence des composants de contrôle de données bien connus des programmes VCL. Dans cet article, l'auteur propose de faire le tour de ces composants VCL pour trouver leurs équivalents FMX, s'ils existent !
Bien évidemment, la réponse « primaire » à ce problème est simple : il faut utiliser les LiveBindings. Plusieurs tutoriels, à commencer par les tutoriels d'Embarcadero, et plusieurs vidéos sur le Net montrent comme il est aisé de le faire, alors pourquoi m'embarquer dans un tel sujet ?
Deux raisons principales :
- les démonstrations se font presque toutes en utilisant le concepteur de liaison visuelle ;
- ces démonstrations ne présentent que les composants les plus évidents : libellés, zones d'édition, mémos ou contrôles image. Toutefois, elles laissent de côté d'autres composants bien utiles, mais d'utilisation plus complexe, comme les boîtes de choix. -
L'affichage des données sous forme de grille sera plus utilisé pour des applications de bureau que pour des applications mobiles, pour lesquelles les ListView sont plus adaptées. Si en VCL nous utilisons plus facilement le composant TDBGrid, en FMX seuls les composants TGrid et TStringGrid nous sont accessibles. Pour les remplir avec des données, nous avons deux solutions : coder ou utiliser les fonctions de liaison (LiveBindings). Dans le tutoriel précédent a déjà été abordée la liaison simple entre une source de données et une grille : l'objectif est maintenant d'approfondir notre connaissance de ce type de liaison. -
Dans les applications pour mobiles, on voit souvent apparaître des listes, plus ou moins personnalisées, remplaçant généralement les grilles des programmes de bureau. On retrouve aussi souvent des démonstrations vantant la facilité d'utilisation du composant TListView associé à une source de données via les LiveBindings.
Il est vrai que pour une liste simple, c'est carrément du zéro code et il n'est guère plus complexe de faire apparaître des entêtes de groupes pour une liste triée. Par contre, la frustration peut prendre à la gorge dès qu'il s'agit de déborder un peu des exemples proposés.
L'objectif de ce tutoriel est de proposer une méthode, peut-être pas très académique, pour pouvoir ajouter à une liste d'éléments des pieds de groupes. -
Au cours du développement d’applications, il est courant de proposer des boîtes de choix à l’utilisateur, choix généralement fournis à partir d’une autre table de données. Remplir une boîte de choix (TComboBox) par l’intermédiaire des LiveBindings est chose aisée ; plus ardu est d’aider l’utilisateur à faire son choix lorsque les propositions sont nombreuses, par exemple afin de sélectionner un client pour obtenir son code. Le défi de cet article est de proposer et étayer plusieurs solutions en fonction des besoins. -
Pour ajouter un bouton à un onglet d’un TTabControl utilisable pour fermer la fiche stockée dans une page, la solution passe par les styles. Pour beaucoup d’entre nous, les styles sont encore un domaine dans lequel nous marchons sur la pointe des pieds, nous contentant simplement de les utiliser pour changer l’apparence de l’application. Au fil de ce tutoriel, deux voies différentes seront utilisées pour atteindre le même objectif : ajouter un bouton à un onglet. -
Dès lors que l’on écrit des applications de taille conséquente, l’interface utilisateur se compose de nombreux écrans différents s’enchaînant ou non. Trois techniques sont utilisées :
- le SDI qui affiche les différents écrans, chacun disséminés sur l’écran ;
- le MDI permet de positionner tous les écrans à l’intérieur de la fenêtre principale ;
- le Docking permet, en quelque sorte, d’allier les deux précédentes en stockant les fenêtres dans des zones (pages à onglets TTabControl, TPageControl ou panneau TPanel) de la fenêtre principale tout en laissant la possibilité de détacher les formes ainsi stockées. Les utilisateurs n’apprécient pas outre mesure le SDI, les formes souvent modales bloquant leur navigation. Le MDI, tout en étant plus souple, a été classé, par Microsoft, comme technique obsolète.
Pourquoi ? Parce que les navigateurs internet proposent des onglets, et que cet interface est maintenant devenu une habitude pour les utilisateurs. Que proposer alors ? C’est là que la technique de Docking des formes entre en jeu. Malheureusement cette technique, peu documentée pour Delphi, reste relativement confidentielle. Plus malheureusement encore, le framework FMX ne propose même pas de technique équivalente. L’objectif de cet article est de vous fournir les informations nécessaires. -
L’objectif est d’afficher une icône selon l’état d’une donnée dans un TListView. Il existe plusieurs apparences prédéterminées (propriété ItemAppearance) qui permettent cela. En fait toutes celles dont le nom commence par Image. Le mode d’apparence dynamique (DynamicAppearance) n’offre pas cette possibilité. Le but de ce petit article est de montrer comment réaliser la même chose avec un peu de code. -
Le composant TListView permet d’ajouter très facilement une boîte de recherche par l’intermédiaire de sa propriété SearchVisible. Sans autre ligne de code, la recherche s’effectue sur tous les textes (même invisibles) de la liste. Toutefois cette recherche est établie selon le principe : « accepter l’affichage si un des textes contient le filtre sans tenir compte de la casse ». L’évènement OnFilter permet de modifier ce principe.
L'objectif est de montrer comment utiliser cet évènement, d’en démonter le mécanisme et de fournir des moyens supplémentaires pour des recherches encore plus ciblées. -
Lors du premier tutoriel consacré à l'écriture d'un composant observable, l'auteur s’était arrêté à une liaison unidirectionnelle. Cette fois, il reprend son ouvrage avec un objectif plus simple : une simple diode qui sera déclinée par la suite, mais surtout uniquement pour la plateforme FMX.Commentez Création : 6 août 2022 · Mise à jour : 15 août 2022
menu
CLX
-
Ce tutoriel vous guide dans la création d'une application multiplateforme vous permettant de voir et de mettre à jour la base de données exemple employée. Les applications multiplateformes utilisent la CLX, la bibliothèque de composants pour le développement multiplateforme de Borland. Conçues pour être compilées et exécutées sur différentes plateformes, les applications CLX nécessitent un minimum de modifications entre les ports Windows et Linux.
Documentation officielle, 24 pages au format PDF (300 Ko). -
Kylix 2 et Delphi 6 introduisent un nouveau composant TXMLDocument permettant de manipuler facilement les documents au format XML. La particularité de ce composant est sa capacité à utiliser différents parseurs XML. -
Avec l'apparition de Kylix, la programmation d'applications professionnelles sous Linux se trouve grandement facilitée, étant donné que Kylix reprend la même interface que Delphi et le même langage... Par conséquent, vous aurez sûrement envie de porter vos applications que vous avez programmées avec Delphi 6 sous Kylix sans avoir à tout réécrire. C'est désormais possible grâce à la CLX... -
Conversions des mesures de toutes sortes avec Delphi. -
En développant une application de lecture de cartes géographiques scannées, j'ai rencontré des problèmes avec ma vieille imprimante jet d'encre noir et blanc. Celle-ci ne gère pas les niveaux de gris et les impressions résultantes manquaient de nuances. Après quelques recherches, j'ai trouvé la solution, le tramage ou plutôt des solutions, car il existe plusieurs méthodes de tramage. Dans la suite de cet article, je vais présenter quelques algorithmes de tramage et discuter de leurs mérites respectifs. -
Kylix, c'est Delphi pour Linux/PC, donc la mise à disposition d'un outil de programmation visuelle puissant sous Linux. Mais c'est aussi la possibilité de réaliser du développement interplateforme entre Win32 Windows et Linux/PC. -
Tous les cours de www.developpez.com pour la version Linux de Delphi : Kykix
menu
Gestion des paquets
-
Nombreux sont les fils de discussion sur les forums à parler de problèmes de compatibilité des composants avec Delphi 6. On cherche partout sur les disques les DsgnIntf.dcu ou .pas et on ne les trouve pas !
Horreur, erreur de packaging, on crie, on vocifère ! ... Alors qu'il s'agit d'une méconnaissance de la stratégie de développement des composants conseillée depuis Delphi 5 (donc plus de deux ans - voir référence en fin d'article) et aujourd'hui, après cette longue phase de transition, imposée dans Delphi 6. -
Créez un programme d'installation pour vos composants Delphi -
Ce petit tutoriel a été élaboré en réponse aux nombreuses questions concernant l'utilisation des composants conçus avec Delphi 4 sous Delphi 5 et 6.
menu
Indy
-
Delphi 7 est fourni avec les composants Indy. Voyons comment les utiliser pour mettre en œuvre un client FTP. Ce document est la mise à jour du document précédent qui concernait Delphi 6, vu que les composants Indy ont évolué depuis.
menu
Fichier d'aide
-
Comment construire l'aide en ligne d'un composant graphique. -
Vous avez créé un superbe programme, fonctionnel, intuitif, puissant, mais vous recevez régulièrement des e-mails vous demandant comment utiliser votre logiciel. Vous n'avez sans doute pas pensé à réaliser un fichier d'aide pour accompagner celui-ci. Voici un tutoriel qui va vous aider à en réaliser un en utilisant Microsoft Help Workshop, logiciel distribué avec toutes les éditions de Delphi.
Cet article a été initialement conçu pour les utilisateurs de Delphi, ceci explique que plusieurs allusions à Delphi soient faites.
menu
Graphique
-
Je vais vous présenter dans cet article un pack de composants fort sympathique, qui permet de créer des applications multimédias en employant directement la technologie DirectShow de Microsoft. Cette bibliothèque est un freeware et elle est développée par la communauté SourceForge.
menu
Editeurs de propriétés
-
Ce tutoriel aborde autour de nombreux exemples, les éditeurs de propriétés et les éditeurs de composants.
menu
Quick-Report
-
Présentation et test de la version 4.06 professionnelle de QuickReport pour Delphi 2005. Cet article est destiné à ceux qui ont déjà utilisé QuickReport et qui sont intéressés par les nouveautés de la version 4 ainsi que par son utilisation dans Delphi 2005. -
On m'a souvent demandé comment faire pour imprimer une StringGrid ou une DbGrid... Voici une unité d'exemple qui le permet. -
Cet article présente comment créer un contrôle Quick-Report personnalisé pour l'impression de codes-barres.
-
La création de menus « à la Office 2000 » diffère sensiblement de la création de menus Windows classiques. Heureusement, les nouveaux composants de Delphi 6 rendent l'opération aisée. -
En cliquant avec le bouton droit de la souris sur la barre de titre d'une fenêtre, apparaît un PopUpMenu, appelé menu système, qui n'est pas totalement modifiable par l'utilisation des propriétés de l'Objet Form de Delphi. Le présent article se propose de vous donner les moyens de contrôler et modifier ce menu. -
Cet article a pour but la réalisation d'un système de favoris de fichiers dans un menu. -
Tutoriel sur la gestion des menus, composants, concepteur...
menu
SynEdit
-
Installation de SynEdit V1.1 sous Delphi 2005 à titre d'exemple d'installation d'un paquet Win32.
menu
RibbonControl
-
Cet article a pour but de vous faire découvrir les composants TRibbon Control. Il vous indiquera comment se servir de ces composants, sans pour autant aller dans les détails. La version minimale nécessaire pour faire fonctionner ces composants est Delphi 2009.
menu
Divers
-
Mise en œuvre d'un timer plus performant que le TTimer de la VCL. -
Il existe différentes sortes d'outils allant du composant d'impression amélioré à l'outil de reporting le plus complet (souvent très cher). Après avoir essayé pas mal de freeware et shareware, j'ai découvert un jour le composant TEkRtf, créé par un développeur russe. J'ai voulu vous faire partager ses avantages et sa simplicité d'utilisation. Ce composant est gratuit pour une utilisation non commerciale et d'un prix plus que raisonnable autrement. -
Delphi est, comme vous le savez, un outil de programmation et un langage très performant. Borland puis CodeGear et maintenant Embarcadero ont, au fil des versions, essayé de nous délivrer un produit de plus en plus complet ; cependant il y avait encore des retards comme la mobilité et l'internationalisation. La dernière mouture a clairement axé sa cible sur l'international, un support complet de l'Unicode, c'est LA grande nouveauté. Le développement pour mobiles n'étant pas encore prévu pour cette version, c'est bien dommage. Au cours de cet article, je vais vous présenter comment Delphi a intégré l'Unicode et aussi quelles en sont les conséquences. -
Introduction à la cryptographie : utiliser et implémenter correctement des primitives cryptographiques avec TMS Cryptography Pack
par Bernard RousselyCet article présente différentes primitives cryptographiques essentielles pour la protection des données et fournit des recommandations sur leur implantation et leur utilisation ainsi que quelques exemples avec la bibliothèque TMS Cryptography Pack, qui offre une interface pour Delphi et une pour C++.