Accès illimité 24h/24 à tous nos livres & vidéos ! Découvrez la Bibliothèque Numérique ENI. Cliquez ici.
  1. Livres et vidéos
  2. Delphi 10.3 - Programmation orientée objet en environnement Windows

Delphi 10.3 Programmation orientée objet en environnement Windows

  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte pendant 1 an
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7
  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne

Présentation

Ce livre s'adresse à toute personne qui souhaite apprendre la programmation orientée objet avec le langage Delphi (en version 10.3 Community Edition) pour développer une application fenêtrée ou un service en environnement Windows. Tout au long du livre, l’auteur agrémente son propos de schémas UML afin que le lecteur puisse constater avec quelle facilité il est possible de programmer pour Windows avec Delphi.

Après une présentation de l’environnement de développement et un rappel sur les fonctions de base héritées du langage Pascal, le lecteur étudie l'architecture et les principes de la programmation orientée objet en Delphi, illustrés par des programmes d'exemple mettant en œuvre les bibliothèques fournies par Delphi 10.3 Community Edition. La manipulation de la bibliothèque graphique Visual Component Library lui permet ainsi d’appréhender concrètement la création d’applications fenêtrées attrayantes, robustes et performantes.

Dans la suite du livre, l’auteur familiarise le lecteur avec la création de librairies dll ou de composants Delphi que l’on peut inclure dans l'environnement de développement avant de détailler la notion de sérialisation de données aux formats XML et JSON ainsi que l'élaboration de services système. Des chapitres dédiés présentent le concept de parallélisation de tâches sous Windows ainsi que les différentes méthodes pour communiquer entre applications, sans oublier la connexion aux bases de données grâce au moteur d'accès aux données FireDAC.

Pour finir, le lecteur a l’occasion de découvrir le framework FireMonkey associé au moteur de LiveBinding qui offre la portabilité du langage Delphi vers de nombreuses plateformes (Linux, Android ou iOS), ainsi que l’élaboration et la consommation de webservices REST.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.

Table des matières

  • Introduction
    • 1. À qui s'adresse ce livre ?
    • 2. Delphi
    • 3. Un peu de vocabulaire
    • 4. Installation
      • 4.1 Téléchargement
      • 4.2 Licence
      • 4.3 Installation
  • Prise en main de l'IDE de Delphi 10.3
    • 1. Présentation
    • 2. Mise en pratique
      • 2.1 Création d'un nouveau projet
      • 2.2 Ajouts de quelques composants sur la fiche
      • 2.3 Mise en forme
      • 2.4 Définir un gestionnaire d'évènement
      • 2.5 Menu Chercher
    • 3. Le débogueur intégré de Delphi
      • 3.1 À quoi sert-il ?
      • 3.2 Comment ?
      • 3.3 Utilisation du débogueur
    • 4. Refactoring
      • 4.1 Renommer une classe
      • 4.2 Extraire une méthode d’un bloc de code
    • 5. Renommage de nom de fichier
    • 6. Options du projet
    • 7. Conclusion
  • Delphi, le langage Pascal objet
    • 1. Introduction
    • 2. Structure des fichiers Delphi
      • 2.1 Création d'un projet d'exemple
      • 2.2 Le fichier .pas
      • 2.3 Le fichier .dpr
      • 2.4 Le fichier .dproj
    • 3. Le mot réservé uses
    • 4. Les variables et les constantes
      • 4.1 Déclaration
      • 4.2 Portée
    • 5. Les types de variables Delphi
      • 5.1 Les types entiers
      • 5.2 Les types décimaux
      • 5.3 Les types booléens
      • 5.4 Les types caractères
      • 5.5 Les types chaînes de caractères
      • 5.6 Les types énumération
      • 5.7 Les tableaux
        • 5.7.1 Tableau statique
        • 5.7.2 Tableau dynamique
        • 5.7.3 Manipulations de base
      • 5.8 Les variants
      • 5.9 Le record
        • 5.9.1 Définition
        • 5.9.2 Le mot réservé with
    • 6. Les opérateurs
      • 6.1 Opérateur d'affectation
      • 6.2 Opérations mathématiques
      • 6.3 Opérations logiques booléennes
      • 6.4 Comparaisons numériques
    • 7. Procédures et fonctions
      • 7.1 Procédure
      • 7.2 Fonction
      • 7.3 Passage de paramètres
    • 8. Instructions basiques
      • 8.1 Les tests de conditions
      • 8.2 If then else
      • 8.3 Case of else
      • 8.4 Les instructions d'itération
    • 9. Les directives de compilation conditionnelles
    • 10. Les fonctions de conversion
      • 10.1 Les fonctions de conversion pour les chaînes de caractères
      • 10.2 Les fonctions de conversion pour les nombres
      • 10.3 Les fonctions de conversion récemment ajoutées
    • 11. Les pointeurs
      • 11.1 Définition
      • 11.2 Utilisation
      • 11.3 Implémentation
      • 11.4 Conclusion
  • Concept objet en Delphi
    • 1. Introduction à la programmation orientée objet
    • 2. Principes de la programmation objet
      • 2.1 Les champs
      • 2.2 Les méthodes
      • 2.3 Encapsulation de données
      • 2.4 Représentation UML et nommage
      • 2.5 Héritage
      • 2.6 Polymorphisme
    • 3. Définition de classe
      • 3.1 Constructeur
      • 3.2 Destructeur
      • 3.3 Le pointeur nil
      • 3.4 Pointeur interne Self
      • 3.5 Propriétés
      • 3.6 Propriété tableau
      • 3.7 Objets et pointeurs
      • 3.8 Évènements
      • 3.9 L'opérateur is
      • 3.10 L'opérateur as
      • 3.11 Champs et méthodes statiques
    • 4. Mise en pratique - Application pour la location de véhicules
      • 4.1 Convention de nommage
      • 4.2 Implémentation
      • 4.3 Utilisation
      • 4.4 Remarques
    • 5. Conclusion
  • Run Time Library, fondation de Delphi
    • 1. Les bibliothèques fournies par Delphi
    • 2. RTL mise en pratique
      • 2.1 La classe TObject
      • 2.2 Les cas d’exception
      • 2.3 La classe TPersistent et le système RTTI
      • 2.4 Mise en pratique de l’introspection RTTI
      • 2.5 La classe helper
      • 2.6 Les listes en Delphi
        • 2.6.1 TList
        • 2.6.2 Exemple d'utilisation de TList
        • 2.6.3 TObjectList
        • 2.6.4 TArray
        • 2.6.5 Les files (FIFO) TQueue et TObjectQueue
        • 2.6.6 Les piles (LIFO) TStack et TObjectStack
        • 2.6.7 Les listes de string TStringList
        • 2.6.8 Les dictionnaires TDictionnary et TObjectDictionnary
      • 2.7 Le système de fichiers TFile, TPath, TDirectory
        • 2.7.1 TPath : Manipulation de chemins sur le disque
        • 2.7.2 TDirectory : Parcours et manipulation de répertoire
        • 2.7.3 TFile : Manipulation de fichier
      • 2.8 Les flux, TStream et ses descendants
      • 2.9 Opérations mathématiques
      • 2.10 La manipulation de dates avec TDate et TTime
      • 2.11 La base des registres TRegistry
      • 2.12 Les expressions régulières avec TRegEx
      • 2.13 Compression de fichier ou de répertoires
    • 3. Les méthodes anonymes
      • 3.1 Définition
      • 3.2 Déclaration
      • 3.3 Implémentation
      • 3.4 Le principe de closure
      • 3.5 Conclusion
    • 4. Les interfaces
      • 4.1 Définition
      • 4.2 Déclaration
      • 4.3 Utilisation
      • 4.4 Héritage d'interface
      • 4.5 Utilisation de plusieurs interfaces, héritage multiple
      • 4.6 Utilisation de même nom de méthode dans deux interfaces différentes
      • 4.7 Pour finir
    • 5. Conclusion
  • Les applications Windows avec la VCL
    • 1. La VCL : Visual Component Library
      • 1.1 Introduction
      • 1.2 Les classes de base
        • 1.2.1 La classe TComponent
        • 1.2.2 La classe TControl
        • 1.2.3 La classe TWinControl
    • 2. La classe TApplication
    • 3. Les applications Windows VCL
      • 3.1 Une application Windows VCL simple
      • 3.2 Une application MDI
    • 4. Création d'une IHM avec Delphi
      • 4.1 Paramètres d'affichage de TForm
        • 4.1.1 Méthodes relatives à l'apparition d'une fenêtre
        • 4.1.2 Évènements de TForm
      • 4.2 La palette de composants standards
        • 4.2.1 Le bouton : TButton
        • 4.2.2 Zone de texte : TLabel
        • 4.2.3 Case à cocher : TCheckBox
        • 4.2.4 Choix multiples : TRadioButton
        • 4.2.5 Choix multiple dans une liste : TCombobox
        • 4.2.6 Les composants d'édition de textes
        • 4.2.7 Les menus
        • 4.2.8 Les alignements avec les TPanel et les TGroupBox
      • 4.3 Modifier la position d'un composant
      • 4.4 Travailler avec des frames et réutiliser le contexte graphique
      • 4.5 Sélectionner des fichiers (TOpenDialog) et des répertoires (TOpenFileDialog)
      • 4.6 Présentation de données
        • 4.6.1 Avec TPageControl
        • 4.6.2 En tableau avec la TStringGrid
        • 4.6.3 Présentation de données en arbre avec TTreeView
      • 4.7 Zone avec barre de défilement : TScrollBox
      • 4.8 Exécuter une action périodique avec TTimer
      • 4.9 Applications VCL multifenêtres
      • 4.10 Échanger des données entre deux fenêtres
        • 4.10.1 Méthode par un appel modal
        • 4.10.2 Méthode par évènement
      • 4.11 Récupérer des évènements du clavier
      • 4.12 Faire un glisser-déposer (Drag&Drop)
      • 4.13 Afficher des images
        • 4.13.1 Le contrôle TImage
        • 4.13.2 Le contrôle TImageList
        • 4.13.3 Le contrôle TImageCollection
      • 4.14 Travailler avec les styles prédéfinis en VCL
      • 4.15 Créer et utiliser son propre style VCL
      • 4.16 Configurer une application
        • 4.16.1 Par ligne de commande
        • 4.16.2 Par fichier de configuration
    • 5. Conclusion
  • Les librairies (dll) et les packages (bpl)
    • 1. Définitions
    • 2. Mise en pratique de l'utilisation d'une dll
      • 2.1 Création
      • 2.2 Export de routines
      • 2.3 Exploitation d'une dll dans un exécutable
        • 2.3.1 Chargement statique de la dll
        • 2.3.2 Chargement dynamique de la dll
        • 2.3.3 La directive delayed
      • 2.4 Passage de chaînes de caractères
        • 2.4.1 La méthode ShareMem
        • 2.4.2 La méthode par type primitif (pchar integer)
        • 2.4.3 Évènement levé dans une dll et utilisé dans le programme hôte
    • 3. Les packages BPL Delphi
      • 3.1 Création d'un package runtime
      • 3.2 Création d'un package design
    • 4. Conclusion
  • Représentation de données : formats XML et JSON
    • 1. Introduction
    • 2. Format XML
      • 2.1 Écriture du fichier XML, sérialisation directe
      • 2.2 Lecture du fichier XML, désérialisation directe
    • 3. XML Data Binding
      • 3.1 Utilisation du moteur XML Data Binding
      • 3.2 Sérialisation
      • 3.3 Désérialisation
    • 4. Format JSON
      • 4.1 Présentation
      • 4.2 Syntaxe
      • 4.3 Sérialisation JSON
        • 4.3.1 Par une structure objet définie manuellement
        • 4.3.2 Par réflexion
      • 4.4 Désérialisation
        • 4.4.1 Par la classe TJSONObject
        • 4.4.2 Par réflexion
    • 5. Conclusion
  • Traitement de tâches asynchrones
    • 1. Description d'un processus
    • 2. Les threads dans un processus
    • 3. Pourquoi utiliser du multithreading ?
      • 3.1 Effectuer plusieurs traitements en parallèle
      • 3.2 Donner une meilleure expérience utilisateur
    • 4. La classe TThread
    • 5. Thread transitoire TThread
    • 6. Thread transitoire par procédure anonyme (TThread.CreateAnonymousThread)
    • 7. Thread persistant
    • 8. Les concepts de ressource partagée et de section critique
    • 9. Une liste thread safe, l'interface d'échange privilégiée entre deux threads
      • 9.1 Par TCriticalSection
      • 9.2 Par TThreadList et TMonitor
    • 10. PPL : la bibliothèque de programmation parallèle
      • 10.1 Pourquoi cette bibliothèque en plus de TThread ?
      • 10.2 Thread transitoire par TTask.Start
    • 11. Synchronisation de deux threads grâce à l'appel Future
    • 12. Exécuter N actions en parallèle avec TParallel
      • 12.1 Présentation
      • 12.2 Exécution de la même action en parallèle TParallel.For
      • 12.3 Exécution de N méthodes différentes avec TParallel.Join
      • 12.4 Remarques
    • 13. Recommandations
    • 14. Conclusion
  • Création d’un service Windows
    • 1. Définition
    • 2. Configuration
      • 2.1 Configuration du type d’exécution
      • 2.2 Configuration du compte associé
      • 2.3 Configuration des dépendances
    • 3. Implémentation
      • 3.1 Configuration du service
      • 3.2 Implémentation des évènements
      • 3.3 Exécution et débogage
        • 3.3.1 L’évènement OnExecute
        • 3.3.2 Utilisation d’un thread secondaire
    • 4. Débogage de service Windows
      • 4.1 Par fichier de log
      • 4.2 S’attacher au processus par l’IDE
    • 5. Conclusion
  • Communication interprocessus (IPC)
    • 1. Introduction
    • 2. Communication via message Windows
      • 2.1 Récupération du handle de fenêtre destinataire
      • 2.2 Envoi du message
      • 2.3 Réception du message
      • 2.4 À savoir
    • 3. Communication via TCP/IP
      • 3.1 Définitions
      • 3.2 Implémentation d’un système de communication client/serveur
        • 3.2.1 Implémentation du serveur
        • 3.2.2 Implémentation du client
        • 3.2.3 Gestion du contenu du message
        • 3.2.4 Écriture d’un protocole
        • 3.2.5 Envoi d’un message
        • 3.2.6 Réception d’un message
        • 3.2.7 Intégration dans le client
        • 3.2.8 Intégration dans le serveur
        • 3.2.9 Identification de l’émetteur du message
      • 3.3 Implémentation d’un tchat
        • 3.3.1 Modifications du client de tchat
        • 3.3.2 Modifications de l’interface graphique
        • 3.3.3 Rafraîchissement des onglets
        • 3.3.4 Ajout d’un message entrant
        • 3.3.5 Envoi d’un message
        • 3.3.6 Autres modifications du serveur de tchat
      • 3.4 Utilisation du tchat dans un réseau d’ordinateurs
        • 3.4.1 Modélisation Model View Controller
        • 3.4.2 Création d’un service
    • 4. Conclusion
  • Connectivité aux bases de données
    • 1. Définitions
    • 2. Les différents frameworks
      • 2.1 Le framework BDE
      • 2.2 Le framework dbGo
      • 2.3 Le framework dbExpress
      • 2.4 Le framework FireDAC
    • 3. Le SQL en bref - fonctions de base
    • 4. Les composants FireDAC
    • 5. Une application de e-commerce avec back-office
      • 5.1 Design de la base de données
      • 5.2 Étapes de développement
      • 5.3 Installation MariaDB
    • 6. L'application de back-office
      • 6.1 Configuration des composants
        • 6.1.1 Configuration de TFDConnection : FDConnection
        • 6.1.2 Configuration du TFDTable : FDTableProduct
        • 6.1.3 Configuration du TDataSource : DataSourceProduct
        • 6.1.4 Configuration de TDBGrid : DBGridProduct
        • 6.1.5 Configuration du TDBNavigator : DBNavigatorProduct
        • 6.1.6 Configuration du TDBImage : DBImageProduct
      • 6.2 Interfaçages
        • 6.2.1 Interfaçage du champ description
        • 6.2.2 Interfaçage du champ category
        • 6.2.3 Interfaçage du champ image
      • 6.3 Personnalisation du rendu de la grille
        • 6.3.1 Insertion de l'image dans la colonne image
        • 6.3.2 Modification des couleurs de texte ou de police dans la grille
        • 6.3.3 Modification de la hauteur des lignes de la grille
      • 6.4 Tri de la grille par valeur d'un champ
    • 7. Conclusion
  • Utilisation du design pattern MVC
    • 1. Introduction
    • 2. Design pattern MVC
      • 2.1 Le modèle
      • 2.2 La vue
      • 2.3 Le contrôleur
      • 2.4 Les avantages
    • 3. Développement de l'application
      • 3.1 Fonctionnalités
      • 3.2 Couches MVC
        • 3.2.1 Les vues
        • 3.2.2 Les modèles
        • 3.2.3 Les contrôleurs
      • 3.3 Navigation entre les pages
      • 3.4 Normaliser les échanges entre MVC
      • 3.5 Les vues
        • 3.5.1 La vue « Login »
        • 3.5.2 La vue "Choix d'objets"
        • 3.5.3 La vue gestion de compte
        • 3.5.4 La vue « Validation de panier »
      • 3.6 Création d'une facture
        • 3.6.1 Préparation et création des éléments nécessaires à l'opération
        • 3.6.2 Création d'un modèle
        • 3.6.3 Récupération des données
        • 3.6.4 Design du rapport
        • 3.6.5 Génération du fichier
      • 3.7 Calcul du montant total de la commande par procédure stockée
    • 4. Conclusion
  • Attributs, annotations et RTTI
    • 1. Introduction
    • 2. Principe du mapping propriété/colonne
    • 3. Attributs Delphi
      • 3.1 Généralités
      • 3.2 Modélisation
    • 4. Un moteur d'accès aux données générique
      • 4.1 Implémentation
      • 4.2 Le cas des propriétés objets
        • 4.2.1 Sauvegarde dans la base de données
        • 4.2.2 Chargement dans la base de données
      • 4.3 Gestion de listes
      • 4.4 Les tables de jointure, relation OneToMany
    • 5. Conclusion
  • FireDAC, FireMonkey et LiveBinding
    • 1. FireMonkey
    • 2. LiveBinding
    • 3. Migration des outils back-office et E-Commerce en FireMonkey
      • 3.1 Le composant TListView
      • 3.2 Liaison visuelle avec une source de données FireDAC : LiveBinding
    • 4. Interagir avec la TListView
      • 4.1 Le clic
      • 4.2 Le double clic
    • 5. Visualisation Maître/Détail
      • 5.1 Présentation
      • 5.2 Maître/Détail utilisateur/commandes
      • 5.3 Maître/Détail commande/objets achetés
      • 5.4 Relation Maître/Détail, commande/adresse de livraison
    • 6. Modification de la valeur issue de la source de donnée
      • 6.1 Cas d'application
      • 6.2 La propriété CustomFormat
      • 6.3 Les routines de conversion
      • 6.4 Créer ses propres routines de conversion
    • 7. Conclusion
  • Serveur d’application REST
    • 1. Définition : application distribuée
    • 2. Protocole HTTP
    • 3. Exemple d'échanges de données : information de météo
      • 3.1 Par le protocole HTTP
      • 3.2 Par le protocole SOAP (Simple Object Access Protocol)
      • 3.3 Par une architecture REST
    • 4. Service web et web-méthodes REST
      • 4.1 Cas général
      • 4.2 Cas de l'authentification
        • 4.2.1 La problématique
        • 4.2.2 Les méthodes d'authentification HTTP
        • 4.2.3 Les différentes options
        • 4.2.4 Implémentation choisie
    • 5. Implémentation de l’application côté serveur
      • 5.1 Le projet Web Server Application
      • 5.2 Mise en place du serveur Apache
        • 5.2.1 Installation d’Apache
        • 5.2.2 Configuration du serveur Apache
        • 5.2.3 Intégration du module
      • 5.3 Édition des points d’entrée
      • 5.4 Utilisation du REST Debugger de Delphi
      • 5.5 Passage de paramètres du client vers le serveur
      • 5.6 Implémentation de l’enregistrement d’un utilisateur
      • 5.7 La classe TJsonResult
      • 5.8 Le cas de l’authentification : le login
      • 5.9 Récupération des produits
      • 5.10 Mettre à jour un utilisateur
      • 5.11 Passer une commande
      • 5.12 Gérer la montée en charge avec l’utilisation d'un pool de connexion
    • 6. Conclusion
  • Client REST multi-plateforme FireMonkey
    • 1. Introduction
      • 1.1 Design graphique
      • 1.2 Échanges entre le client et le serveur
      • 1.3 Implémentation
    • 2. Appel REST simple, enregistrement d’un utilisateur
    • 3. Authentification REST de type Basic et login d’un utilisateur
    • 4. Utilisation du Livebinding avec un modèle de données
      • 4.1 Utilisation d’un TDataGeneratorAdapter pour définir un prototype d’échange
      • 4.2 Encapsulation dans un TAdapterBindSource
      • 4.3 Liaison avec un TListView
      • 4.4 Gestion de panier
        • 4.4.1 Design graphique
        • 4.4.2 Implémentation
      • 4.5 Passer une commande
      • 4.6 Gestion compte utilisateur
    • 5. Conclusion
  • Travailler avec les styles FireMonkey
    • 1. Présentation
    • 2. Modifier ou créer un style de composant
      • 2.1 Le Style Designer
      • 2.2 Modification du style TLabel
      • 2.3 Créer un nouveau style
    • 3. Créer et utiliser un style spécifique pour une TListBox
      • 3.1 Création d'un style TListBox
      • 3.2 Ajout d'éléments stylisés dans la TListBox
        • 3.2.1 Exemple : Affectation du prix
        • 3.2.2 Exemple : Affectation de l'image
    • 4. Intégration dans le client REST
    • 5. Conclusion
    • Conclusion
    • Index

Auteur

Thierry GRASSIA En savoir plus

Diplômé de Telecom Physique Strasbourg depuis 1999, Thierry GRASSIA est aujourd’hui Ingénieur en développement expert sur le langage Delphi qu’il a su éprouver au cours de ses différentes expériences professionnelles. Avec ce livre, il propose au lecteur de l’accompagner dans son apprentissage du langage pour le mener vers le développement d’applications ou de services en environnement Windows.

Caractéristiques

  • Niveau Confirmé à Initié
  • Nombre de pages 910 pages
  • Parution janvier 2021
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02466-5
    • EAN : 9782409024665
    • Ref. ENI : RIDELPH
  • Niveau Initié à Confirmé
  • Parution janvier 2021
    • HTML
    • ISBN : 978-2-409-02467-2
    • EAN : 9782409024672
    • Ref. ENI : LNRIDELPH

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (15 104 Ko)
  • Des fichiers complémentaires (53 464 Ko)