Cours programmation en Delphi, tutoriel & guide de travaux pratiques en pdf.
Le compilateur
Les textes composés en assembleur ou dans ces langages évolués doivent être traduits en langage machine. Ce travail est réalisé par un programme spécialisé appelé compilateur.
Le compilateur examine les instructions écrites par le programmeur et les transforment en langage binaire, compréhensible par le processeur.
Il existe un grand nombre de compilateurs. Chacun est spécialisé dans le traitement de l’un ou l’autre langage évolué.
Un texte écrit dans un langage doit être compilé à l’aide d’un compilateur approprié à ce langage précis. Un texte écrit en langage C doit être compilé par un compilateur C.
Le logiciel Delphi inclut, entre-autres, un module de composition de texte en langage Pascal (l’éditeur) et un compilateur Pascal. Ce cours aurait pu également utiliser le langage C (plus difficile à aborder) ou le langage Basic (beaucoup moins structuré), par exemple.
Remarque : les interpréteurs
Dans certains langages, le code source n’est pas préalablement traduit en langage machine par un compilateur.
Dans ce cas, la transformation en langage machine se fait au moment de l’exécution du programme : un interpréteur traduit le programme, ligne par ligne.
Quand une ligne du programme doit être exécutée un grand nombre de fois, l’interpréteur la traduit autant de fois qu’elle est exécutée. Il en résulte une perte de temps et donc une plus grande lenteur des langages interprétés (comme certaines versions de Basic) par rapport aux langages compilés.
Tu dois maintenant être capable de citer les noms des trois
logiciels évoqués ci-dessus et d’indiquer leur rôle. Vérifie que c’est le cas, sans regarder l’écran.
Le rôle de l’éditeur de code est de:
transformer le langage évolué en code binaire écrire le texte des programmes d’ordinateurs traduire le code binaire en langage compréhensible
Détermine l’ordre chronologique dans lequel les trois processus suivants interviennent L’édition du texte, la compilation, l’exécution
La compilation, l’édition du texte, l’exécution
L’exécution, l’édition du texte, la compilation
La compilation, l’interprétation, l’exécution
Le rôle du compilateur est de:
transformer le langage évolué en code binaire
Eléments de programmation en Delphi
écrire le texte des programmes d’ordinateurs
traduire le code binaire en langage compréhensible
La différence entre un interpréteur et un compilateur est que:
Le compilateur est spécialisé dans un langage alors qu’un interpréteur peut traiter tous les langages évolués
L’interpréteur traduit une ligne de code à la fois, cependant que le compilateur traduit tout le programme en une fois
Le compilateur traduit une ligne de code à la fois, cependant que l’interpréteur traduit tout le programme en une fois
Il n’y a pas de différence entre un compilateur et un interpréteur
Principe du travail avec Delphi Pascal
Interface utilisateur
Lorsque nous utilisons un ordinateur, le logiciel avec lequel nous travaillons nous propose généralement d’interagir avec lui dans des fenêtres contenant différents éléments classiques : des zones d’édition, des cases à cocher, des boutons à cliquer,…
L’ensemble des éléments cités plus haut figure alors dans ce que l’on appelle une fenêtre, une boîte de dialogue ou plus généralement une interface utilisateur :l’endroit où l’humain communique avec la machine, lui fournit des données et reçoit les résultats des traitements par l’ordinateur.
Le travail de l’ordinateur se fait en sous-sol
Lorsque l’ordinateur reçoit l’instruction de traiter les données fournies par l’utilisateur, il exécute une série plus ou moins longue d’instructions afin de produire les résultats souhaités.
Mais j’aimerais bien voir l’ordinateur travailler, moi. Le travail des autres m’a toujours fasciné.
Malheureusement, il est impossible de voir ce travail se réaliser. Tout se passe dans les circuits électroniques du processeur. Quelques mouvements (complexes) d’électrons, tout au plus…
En gros, il se confirme que l’essentiel est invisible pour les yeux !
Quelle culture!
Le travail du concepteur du logiciel
Lorsque l’on conçoit un logiciel, il y a donc au moins deux tâches à réaliser :
1. concevoir une interface utilisateur claire et pratique
2. imaginer les instructions nécessaires à l’ordinateur pour produire les résultats espérés.
Lorsque nous travaillerons à concevoir des logiciels avec Delphi Pascal, nous aurons donc deux types d’activités :
1. concevoir des interfaces utilisateurs encore appelées des fiches dans le vocabulaire de Delphi
2. imaginer les instructions qui constitueront les programmes.
La conception des fiches
L’interface utilisateur contient un certain nombre de » contrôles » (cases à cocher, zones d’édition, listes déroulantes,…) qui permettent :
1. à l’utilisateur de fournir des informations à l’ordinateur (les entrées) et
2. à l’ordinateur de fournir les résultats de ses traitements (les sorties).
Lors de la conception des fiches, nous allons donc disposer les » contrôles » nécessaires sur les fiches.
Dans le vocabulaire de Delphi, les » contrôles » sont appelés des composants.
Dans l’exemple ci-dessus, une fiche en cours
d’élaboration contient des composants de différents types : zones d’édition, boutons d’options, étiquettes, bouton d’action,…
La rédaction des programmes
A un signal donné (un clic sur un bouton, la frappe d’une touche au clavier,…), l’ordinateur devra exécuter une série plus ou moins complexe d’instructions.
Ces instructions seront décrites en langage Pascal dans l’éditeur de code de Delphi.
La fenêtre dans laquelle l’utilisateur entre en contact avec l’ordinateur est appelée Interface utilisateur
Interface ordinateur
Compilateur
Fiche
Dans le vocabulaire de Delphi Pascal, une fiche est Une interface utilisateur en construction
Un » contrôle » à placer dans une interface utilisateur Un programme d’ordinateur
Dans le vocabulaire de Delphi Pascal, un composant est Un programme d’ordinateur
Un « contrôle » à placer sur une fiche
Une interface utilisateur
Structure d’un » projet » en Delphi Pascal
Interfaces utilisateur et application Delphi Pascal
En général, dès qu’un logiciel devient un peu complexe, il présente plusieurs interfaces utilisateur. Ainsi, un logiciel de traitement de textes offrira des interfaces utilisateur pour :
mettre en forme les paragraphes (retraits, espacements, tabulations,…) mettre en forme les caractères (couleur, police de caractère, taille,…) imprimer les documents (choix des pages à imprimer, orientation des pages, nombre d’exemplaires,…)
enregistrer les documents (nom de fichier, format,…)
…
Un logiciel complexe réalisé avec Delphi Pascal pourrait donc demander de concevoir plusieurs fiches.
Comment enregistrer son travail
Une application réalisée avec Delphi Pascal est encore appelée un projet. Chaque projet peut comporter un nombre indéfini de fiches, selon les besoins.
Lorsque l’on veut enregistrer son travail, il faut donc sauvegarder :
le projet, dans un fichier qui porte l’extension .dpr (qui rappelle qu’il s’agit d’un projet en Delphi ;
chaque fiche et les instructions liées aux composants qu’elle contient dans un fichier .pas (qui rappelle qu’il s’agit de langage Pascal).
L’illustration ci-dessous présente deux projets. Le premier contient 3 fiches ; le deuxième en contient seulement deux.
Dites, ils ne se sont pas trop foulés, les concepteurs de Delphi. Ils n’auraient pas pu penser à enregistrer toutes les fiches ensemble dans le projet ?
Si je compte bien, il faut 4 enregistrements différents rien que pour l’application projet 1.dpr.
Tout à fait exact : quatre enregistrements sont nécessaires : le projet et chacune des trois fiches.
Mais nous allons voir l’avantage que présente cette méthode maintenant.
Dans l’exemple suivant, le programmeur du projet 4 s’est rendu compte qu’il a déjà élaboré une fiche qui répond à ses besoins dans le projet 3.
Plutôt que de recommencer tout le travail, il pourra indiquer qu’il souhaite simplement reprendre la fiche 6 de l’autre projet.
Super, cette méthode de recyclage. Elle convient tout à fait à mon naturel paresseux. J’espère que je pourrai souvent l’utiliser.
Pas de chance, dans le cadre de ce cours, les applications compteront rarement plus d’une seule fiche.
Attention, danger
Le » recyclage » des fiches conçues précédemment est évidemment un gros avantage lorsque l’on conçoit de nombreux projets de grande ampleur. Mais il présente un piège, si l’on n’y prend pas garde.
Dans l’exemple ci-dessous, deux projets différents contiennent chacun une seule fiche nommée FicheX.pas.
Ces deux projets ne peuvent pas être enregistrés dans le même répertoire. Pour quelle raison ?
Parce que deux projets, c’est vraiment trop gros pour un seul répertoire.
Deux fichiers situés dans le même répertoire porteraient le même nom.
Parce que le nombre de fichiers possibles dans un répertoire est trop limité.
Combien de fiches peut compter un projet Delphi, au maximum?
Derniers conseils
Avant de démarrer, essaie de bien comprendre l’intérêt des différents conseils qui suivent.
N’oublie pas d’en profiter durant ton travail.
Chaque exercice proposé dans le cours fait l’objet d’une nouvelle application. Chaque application est enregistrée dans un fichier .dpr qui porte un nom évocateur (et non projetx.dpr comme le propose Delphi).
Chaque fiche est enregistrée dans un fichier .pas qui porte un nom évocateur (en nom UnitX.pas).
Chaque projet est enregistré dans un répertoire qui permet de retrouver facilement tel exercice présenté à telle page du cours.
Et donc, l’exercice 3 de la page 8 de la leçon 7, je l’enregistre dans un répertoire appelé Chap7p8ex3, par exemple ? Voilà un nom qui n’est guère joli, mais qui a le mérite d’être efficace !
Utiliser l’interface de Delphi et exécuter un programme
Avant d’utiliser le logiciel Delphi, voyons comment se présente l’écran principal et tentons d’indiquer les différents éléments qui le composent.
Structure de l’interface
Au lancement de Delphi, on est confronté à une interface du type illustré ci-dessous. On y distingue :
1. la palette des composants
2. le concepteur de fiches
3. l’éditeur de code (généralement caché derrière la fenêtre du concepteur de fiches)
4. l’explorateur des objets
5. l’inspecteur
d’objets
Si ce n’est déjà fait, démarre le logiciel Delphi. Inspecte les différents éléments de l’interface.
Déplace la fenêtre du concepteur de fiches pour apercevoir la fenêtre de l’éditeur de code.
Utilisation de l’interface utilisateur de Delphi
Nous allons, en quelques instants, concevoir un micro-programme de traitement de textes.
• Dans la palette des composants, sélectionne, si nécessaire l’onglet Standard.
• Clique sur le composant Memo
• Clique ensuite n’importe où dans le concepteur de fiche : un composant Memo y est déposé.
• Redimensionne le Memo pour qu’il occupe la plus grand partie de la fiche.
Nous avons déjà fini d’utiliser l’éditeur de Delphi : la partie du logiciel qui sert à concevoir les programmes.
Enregistrer le projet en cours
Il est temps, maintenant, d’enregistrer le travail dans ton répertoire personnel. L’enregistrement va se faire en deux temps.
Dans un premier temps, tu vas enregistrer la fiche contenant le composant Memo que tu viens de composer.
Dans un deuxième temps, tu vas enregistrer l’ensemble du projet de traitement de textes.
Prépare l’enregistrement en créant un nouveau répertoire nommé ch1p5 dans ton répertoire personnel.
Dans le menu Fichier, sélectionne la commande Enregistrer le projet sous…
Dans la première boîte de dialogue d’enregistrement, sélectionne ton répertoire personnel puis dans ch1p5.
Remplace le nom par défaut Unit1.pas par le nom tdt.pas Clique sur Enregistrer pour… enregistrer la fiche
Dans la deuxième boîte de dialogue d’enregistrement, remplace le nom par défaut Projectx.dpr par le nom tdtxt.dpr.
Le nom du projet doit être différent du nom des unités qu’il contient.
Il est très important d’enregistrer tout projet avant l’étape suivante qui est la compilation. Lors de cette dernière étape, le compilateur va tenter d’écrire le programme exécutable sur le disque dans le répertoire par défaut qui, pour des raisons de sécurité, se trouve… dans un répertoire protégé contre l’écriture.
S’il ne peut pas écrire le programme, le compilateur va signaler l’erreur et interrompre le processus de traduction.
Nous allons finalement demander au compilateur d’entrer en jeu et de transformer le code Pascal qui a été écrit automatiquement en langage machine
1. Les deux types d’informations traitées par un ordinateur
2. De l’humain à la machine
3. Principe du travail avec Delphi Pascal
4. Structure d’un » projet » en Delphi Pascal
5. L ‘interface de Delphi 7
6. Notion d’objet et de programmation objet
7. L es propriétés des objets de Delphi
8. L es propriétés « événements » des objets
9. Modifier les propriétés des objets
10. Applications dans l’éditeur de textes
11. E xercices