Un Guide Pascal et Delphi: Tout savoir sur les deux langages

I – IntroductionGuide Pascal et Delphi
II – Pré-requis
III – Pascal ? Delphi
III-A – Pascal
III-B – Delphi
III-C – Un peu de vocabulaire
IV – Premiers pas, découverte de Delphi
IV-A – Installation et lancement de Delphi
IV-B – Premier contact avec Delphi
IV-C – Utilisateur, Programmeur et les deux à la fois
IV-D – Notions de base de la programmation sous Delphi
IV-D-1 – La notion de projet
IV-D-2 – La notion de composant
IV-D-3 – Propriétés et événements
IV-E – Premier aperçu de l’interface de Delphi
IV-E-1 – La barre de menus
IV-E-1-a – Menu Fichier
IV-E-1-b – Autres menus
IV-E-2 – La barre d’outils
IV-E-3 – La palette des composants
IV-E-4 – L’inspecteur d’objets
IV-E-5 – L’éditeur de code
IV-E-6 – Conclusion
V – Préliminaires
V-A – Données simples dans un programme Pascal
V-A-1 – Nombres
V-A-1-a – Nombres entiers
V-A-1-b – Nombres à virgules
V-A-1-c – Opérations sur les nombres
V-A-2 – Caractères et chaînes de caractères
V-A-3 – Booléens
V-A-4 – Types énumérés
V-A-5 – Récapitulatif
V-B – Utilisations des types simples dans l’inspecteur d’objets
V-C – Structure d’un programme Pascal
V-C-1 – Structure d’un fichier projet
V-C-2 – Structure d’une unité
V-D – Constantes et Variables
V-D-1 – Préliminaire : les identificateurs
V-D-2 – Constantes
V-D-3 – Variables
V-E – Conclusion
VI – Procédures et Fonctions
VI-A – Procédures
VI-B – Fonctions
VI-C – Premières instructions en Pascal
VI-C-1 – Affectations
VI-C-2 – Appels de procédures et de fonctions
VI-D – Manipulations
VI-E – Conclusion
VII – Types de données avancés de Pascal Objet
VII-A – Création de nouveaux types
VII-B – Type ordinaux
VII-C – Type intervalle
VII-D – Compléments sur les types énumérés
VII-E – Type ensemble
VII-F – Tableaux
VII-F-1 – Tableaux à une seule dimension
VII-F-2 – Tableaux à plusieurs dimensions
VII-F-3 – Notions avancées sur les tableaux
VII-F-4 – Tableaux de taille dynamique
VII-G – Enregistrements
VII-G-1 – Vue d’ensemble sur les enregistrements
VII-G-2 – Manipulation avancée des enregistrements
VII-H – Types et paramètres de procédures et fonctions
VII-I – Conclusion et retour sur terre
VIII – Structures de programmation en Pascal
VIII-A – Structures conditionnelles
VIII-A-1 – Blocs ‘if’
VIII-A-2 – Blocs ‘case’
VIII.B – Structures itératives
VIII-B-1 – Blocs ‘for’
VIII-B-2 – Blocs ‘while’
VIII-B-3 – Blocs ‘repeat’
VIII-B-4 – Contrôle avancé des boucles
IX – Manipulation des composants
IX-A – Introduction
IX-B – Aperçu de la structure interne d’un composant
IX-C – Manipulation des propriétés d’un composant
IX-C-1 – Utilisation de Delphi
IX-C-2 – Utilisation du code source
IX-D – Manipulation des méthodes d’un composant
IX-E – Evénements
IX-E-1 – Style de programmation événementiel
IX-E-2 – Utilisation des événements
IX-F – Composants invisibles
IX-G – Imbrication des composants
IX-H – Types de propriétés évolués
IX-H-1 – Propriétés de type objet
IX-H-2 – Propriétés de type tableau, propriété par défaut
IX-H-3 – Propriétés de type référence
IX-I – Conclusion
X – Découverte des composants les plus utilisés – 1ère partie
X-A – La fiche : Composant « Form
X-A-1 – Manipulation Guidée
X-B – Référence des composants
X-B-1 – Composant « MainMenu
X-B-2 – Composant « TPopupMenu
X-B-3 – Composant « Label
X-B-4 – Composant « Edit
X-B-5 – Composant « Memo
X-B-6 – Composant « Button
X-B-7 – Composant « CheckBox
X-B-7-a – Manipulation guidée
X-B-8 – Composant « RadioButton
X-B-9 – Composant « ListBox
X-B-10 – Composant « ComboBox
X-B-11 – Composant « GroupBox
X-B-12 – Composant « Panel
X-B-13 – Composant « Bevel
X-B-14 – Composant « ImageList
X-C – Mini-projet
XI – Pointeurs
XI-A – Présentation de la notion de pointeur
XI-A-1 – nil.
XI-A-2 – Eléments pointés par un pointeur
XI-A-3 – Gestion de l’élément pointé par un pointeur
XI-A-4 – Utilisation de l’élément pointé par un pointeur
XI-B – Etude de quelques types de pointeurs
XI-B-1 – Pointeurs de tableaux
XI-B-2 – Pointeurs d’enregistrements (record)
XI-C – Transtypage
XI-D – Conclusion
XII – Objets
XII-A – Définitions des notions d’objet et de classe
XII-A-1 – Objet
XII-A-2 – Classe
XII-B – Utilisation des objets
XII-B-1 – Construction et destruction
XII-B-2 – Manipulation des objets
XII-B-2-a – Exercice résolu
XII-C – Notions avancées sur les classes
XII-C-1 – Hiérarchie des classes
XII-C-1-a – Concept général
XII-C-1-b – Classes descendantes de TForm
XII-C-2 – Ajout d’éléments dans une classe
XII-C-2-a – Sections privées et publiques d’une classe
XII-C-2-b – Ajout de méthodes et de variables
XII-C-3 – Paramètres de type objet
XII-C-3-a – Explications générales
XII-C-3-b – Envoi de paramètres de classes différentes
XIII – Utilisation des fichiers
XIII-A – Introduction : Différents types de fichiers
XIII-A-1 – Fichiers texte
XIII-A-2 – Fichiers séquentiels
XIII-A-3 – Fichiers binaires
XIII-B – Manipulation des fichiers texte
XIII-B-1 – Ouverture et fermeture d’un fichier texte
XIII-B-2 – Lecture depuis un fichier texte
XIII-B-3 – Ecriture dans un fichier texte
XIII-B-4 – Utilisation des fichiers texte par les composants
XIII-C – Manipulation des fichiers séquentiels
XIII-C-1 – Présentation
XIII-C-2 – Ouverture et fermeture d’un fichier séquentiel
XIII-C-3 – Lecture et écriture depuis un fichier séquentiel
XIII-D – Fichiers binaires
XIII-D-1 – Présentation
XIII-D-2 – Capture des erreurs d’entrée-sortie
XIII-D-3 – Lecture et écriture dans un fichier binaire
XIII-D-3-a – Paramètres variables
XIII-D-3-b – Paramètres non typés
XIII-D-3-c – Description des deux procédures de lecture et d’écriture
XIII-D-4 – Lecture et écriture des différents types de données
XIII-D-4-a – Compléments sur les types de données
XIII-D-4-b – Préliminaires
XIII-D-4-c – Types simples : entiers, réels et booléens
XIII-D-4-d – Types énumérés
XIII-D-4-e – Types chaîne de caractères
XIII-D-4-f – Autres types
XIII-D-4-g – Structures avancées dans des fichiers binaires
XIV – Découverte des composants les plus utilisés – 2ème partie
XV – Manipulation de types abstraits de données
XV-A – Introduction
XV-B – Piles
XV-B-1 – Présentation
XV-B-2 – Une définition plus formelle
XV-B-3 – Implémentation d’une pile avec un tableau
XV-B-4 – Compléments sur les pointeurs : chaînage et gestion de la mémoire
XV-B-5 – Implémentation par une liste chaînée
XV-C – Files
XV-C-1 – Présentation et définition
XV-C-2 – Implémentation d’une file par une liste chaînée
XV-D – Listes
XV-D-1 – Présentation et définition
XV-D-2 – Notions de tri
XV-D-3 – Implémentation par un tableau
XV-D-4 – Implémentation par une liste chaînée
XV-D-5 – Implémentation permettant différents tris
XV-D-5-a – Présentation
XV-D-5-b – Paramètres fonctionnels
XV-D-5-c – Implémentation du tri à la demande
XV-E – Arbres
XV-F – Arbres binaires
XV-G – Mini-projet : calculatrice
XVI – Programmation à l’aide d’objets
XVI-A – Introduction
XVI-B – Concepts généraux
XVI-B-1 – De la programmation traditionnelle à la programmation objet
XVI-B-2 – La programmation (orientée ?) objet
XVI-B-3 – Classes
XVI-B-4 – Objets
XVI-B-5 – Fonctionnement par envoi de messages
XVI-B-6 – Constructeur et Destructeur
XVI-C – Bases de la programmation objet sous Delphi
XVI-C-1 – Préliminaire : les différentes versions de Delphi
XVI-C-2 – Définition de classes
XVI-C-3 – Déclaration et utilisation d’objets
XVI-C-4 – Utilisation d’un constructeur et d’un destructeur, notions sur l’héritage
XVI-C-5 – Visibilité des membres d’une classe
XVI-C-6 – Propriétés
XVI-C-6-a – Propriétés simples
XVI-C-6-b – Propriétés tableaux
XVI-C-6-c – Propriété tableau par défaut
XVI-C-7 – Mini-projet n°5 : Tableaux associatifs
XVI-D – Notions avancées de programmation objet
XVI-D-1 – Retour sur l’héritage
XVI-D-2 – Polymorphisme
XVI-D-3 – Surcharge et redéfinition des méthodes d’une classe
XVI-D-4 – Méthodes abstraites
XVI-D-5 – Méthodes de classe
XVI-E – Conclusion
XVII – Liaison DDE
XVII-A – Présentation
XVII-A-1 – Introduction
XVII-A-2 – Composants
XVII-A-3 – Utilisation
XVII-B – Partie Serveur
XVII-C – Partie Client
XVII-D – Cas particulier : Serveur Non-Delphi
XVII-D-1 – Serveur Non-Delphi
XVII-D-2 – Client Non-Delphi
XVII-E – Conclusion
XVIII – DLL
XVIII-A – Introduction
XVIII-B – Ecriture des DLLs & Utilisation
XVIII-B-1 – DLL de fonction
XVIII-B-2 – Théorie & Subtilité
XVIII-B-3 – DLL de Classe
XVIII-B-4 – DLL de Composant
XVIII-B-5 – DLL & Chaîne de caractère
XVIII-C – Chargement statique/dynamique
XVIII-D – DLL et Autres Langages
XVIII-E – Conclusion
XIX – Gestion des exceptions
XIX-A – Introduction
XIX-B – Try..Finally
XIX-C – Try..Except
XIX-C-1 – Grammaire
XIX-C-2 – Listes non exhaustive de classe d’exception
XIX-D – Exception personnalisée
XIX-E – Raise
XIX-F – Conclusion
XX – TFileStream
XX-A – Introduction
XX-B – Lecture
XX-C – Ecriture
XX-D – Conclusion

I – Introduction
Voici des sujets qui ne seront (hélas) PAS abordés (car non maîtrisés par votre serviteur, à savoir moi)
•Bases de données
•Programmation pour Internet
•Programmation « multi-thread »
Si vous voulez de la documentation là-dessus, il faudra aller voir ailleurs, désolé.
Ce guide est conçu comme un vrai cours : il est découpé en chapitres comportant chacun du cours, des exercices et les corrigés détaillés. L’ensemble est prévu pour être suivi dans l’ordre des chapitres, mais rien ne vous oblige à respecter cet ordre si vous maîtrisez déjà tout ou partie des notions vues dans un chapitre particulier.
Des propositions de mini-projets (non résolus entièrement) sont également présentes dans le guide. Le but des mini-projets est de créer un logiciel permettant de résoudre un problème. Le principe est ici très différent des exercices résolus : vous réalisez un mini-projet à partir d’un cahier des charges. L’objectif est atteint lorsque le logiciel créé parvient à traiter le problème décrit dans le cahier des charges, et ceci quelle que soit cette manière. Pour l’instant,si vous voulez être corrigé ou demander des conseils, contactez-moi.

Guide Pascal et Delphi
II – Pré-requis
Certains diront : « Vous avez dit dans l’introduction qu’on pouvait partir de rien ! ». Eh bien, au niveau connaissances sur la programmation, c’est vrai. Par contre, il vous faut avant de commencer ce guide (la liste paraît longue, mais ne vous affolez surtout pas) :
•Un ordinateur avec les logiciels suivants :
•Microsoft Windows 95 ou supérieur (98, 98 SE, Millenium, XP…) ouMicrosoft Windows NT 4 ou Windows 2000 (non testé).
•Borland/Inprise Delphi version 2 ou supérieure (3, 4, 5, …) pour suivre le guide.
La version 5 est nécessaire pour pouvoir utiliser les exemples téléchargeables ici.
La langue du logiciel est sans importance, mais le français est recommandé pour débuter.
Il va sans dire que vous devez savoir utiliser au moins un peu ces logiciels.
•Des connaissances minimales en informatique générale. Vous devez savoir ce que désigne chacune des expressions ci-dessous :
•Windows
•Fenêtre, boite de dialogue
•Logiciel, Application
•Menus, barre d’outils, boutons, cases à cocher, info-bulle, liste, liste déroulante (« combo »), icône

Guide Pascal et Delphi
III – Pascal ? Delphi ?
L’objectif de ce guide est de créer des logiciels et non plus de simplement les utiliser. Un moyen pour créer un logiciel est d’utiliser un langage informatique, traduit ensuite par l’ordinateur pour en faire un logiciel. C’est le moyen exploré dans ce guide : l’utilisation d’un langage de programmation informatique. Le langage étudié ici, c’est « Pascal ». C’est un langage qui permet d’écrire des logiciels. « Delphi », c’est le logiciel que vous allez employer pour écrire des textes dans ce langage (entre autres).

Guide Pascal et Delphi
III-A – Pascal
Pascal, c’est ainsi le nom du langage que vous allez découvrir dans ce guide. Comme tout langage, il a ses règles, sa syntaxe, ses structures, ses limites, ses exceptions (mais ce ne sont pas celles qu’on croit, nous le verrons plus loin). Pascal est utilisé pour communiquer avec l’ordinateur : c’est à vous de vous adapter en lui parlant dans un langage qu’il puisse comprendre.
Attention toutefois, en tant que programmeur, votre interlocuteur est l’ordinateur, et non pas le ou les utilisateurs des logiciels que vous écrivez. Il s’agit là d’une distinction subtile qu’il faut faire tout de suite : au moment où l’utilisateur fera ce qu’on attend de lui, à savoir utiliser un de vos logiciels, vous ne serez pas présent (ni pour lui expliquer ce qu’il faut faire, ni pour corriger les problèmes posés). Il faudra donc avoir dit précisément à l’ordinateur ce qu’il convient de faire.

Guide Pascal et Delphi
III-B – Delphi
Delphi est le nom d’un logiciel actuellement largement employé pour créer des logiciels. Delphi permet d’utiliser le langage Pascal. Il faut bien comprendre que Pascal et Delphi NE SONT PAS une seule et même chose : Pascal est un langage informatique, Delphi est un logiciel destiné à créer des logiciels avec ce langage. Delphi n’est qu’un enrobage, une enveloppe de confort autour de Pascal, c’est-à-dire qu’il simplifie de nombreuses tâches liées à la programmation en langage Pascal. Un autre fait qu’il faut noter est que Delphi est destiné à écrire des programmes fonctionnant exclusivement sous Windows. Nous ne nous intéresseront donc dans ce guide qu’à Windows (et seulement à Windows 95 ou ultérieur).

Guide Pascal et Delphi
III-C – Un peu de vocabulaire
L’informatique, en tant que science, a son propre jargon, qu’il est nécessaire de connaître. Les quelques termes qui suivent sont des incontournables. Lorsque vous les rencontrerez, vous devrez savoir ce qu’ils signifient. Les définitions ci-dessous ne sont valables qu’à l’intérieur du guide (et sont souvent utilisées en dehors !) : « Programme» : texte écrit dans un langage informatique, comportant dans notre cas des instructions structurées (organisées en structures). Il est destiné à être « converti » par Delphi en un logiciel utilisable sous Windows.
« Développer en Delphi» : écrire des programmes en utilisant le langage Pascal. Par abus, on confond le langage (Pascal) et le logiciel (Delphi) qui le gère, et on parle de développer, plutôt que de programmer.
« Application» : Logiciel fonctionnant sous Windows.

Guide Pascal et Delphi
IV – Premiers pas, découverte de Delphi
IV-A – Installation et lancement de Delphi
Révision éclair : Répertoires et Fichiers
Votre ordinateur possède au moins un disque dur. Ce disque est souvent accessible par une lettre de lecteur (présente dans le poste de travail, dans l’explorateur) qui est souvent C (le disque dur est alors nommé C:).
Le lecteur C: est, comme tous les supports informatiques classiques (Disque durs, disquettes, CD-Roms, ZIP, DVD-Rom) organisé à la manière d’un gigantesque classeur.
Il contient une racine, appelée aussi répertoire racine, qui obéit à la même règle que les répertoires (appelés aussi dossiers). Cette règle est : elle (la racine) ou il (le répertoire) peut contenir des répertoires et des fichiers.
Sous Windows 95 ou ultérieur, les fichiers et les répertoires sont nommés avec beaucoup moins de rigueur qu’avant (8 caractères, un point et une extension de 3 caractères définissant classiquement le type de fichier, les noms de répertoires étant généralement privés d’extension). Les noms peuvent maintenant comporter plus de 8 caractères, et les caractères autorisés augmentent en nombre, avec les espaces, les lettres accentués, les majuscules et minuscules. Une règle qui reste d’actualité est l’extension : elle suit toujours le nom du fichier, précédée d’un point, et comporte trois caractères (quoique cette limitation à trois caractères n’est plus obligatoire mais recommandée). Cette extension indique toujours le type de fichier.
IV-C – Utilisateur, Programmeur et les deux à la fois
En tant que programmeur, vous êtes obligatoirement et d’abord un utilisateur : c’est très certainement vous qui allez tester vos logiciels (avant de les lâcher dans la nature, si telle est votre intention, et ce devrait toujours être une de vos intentions), en les utilisant.
C’est là que le challenge commence pour le programmeur : alterner les deux casquettes d’utilisateur et de programmeur est plus délicat qu’il n’y paraît, parce qu’on s’habitue peu à peu à l’interface qu’on crée de ses mains, au point de prendre des réflexes conditionnés et de croire évidentes des choses qui ne le sont pas. On impose alors des cheminements incohérents ou inconsistants à l’utilisateur. Pour illustrer ce piège, prenons un exemple simple.

……..


Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Un Guide Pascal et Delphi: Tout savoir sur les deux langages (2.39 Mo)  (Cours PDF)
Guide Pascal et Delphi

Merci de partager le cours et de laisser vos suggestion..

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *