Guide Pascal et Delphi


précédentsommairesuivant

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.

Un fichier peut être donné directement ou en fonction du répertoire dans lequel il se trouve. Prenons un fichier « exemple 1.doc ». S'il est situé à la racine du disque C:, son nom complet sera : « C:\exemple 1.doc ». S'il est dans le répertoire « Mes Documents », lui-même à la racine du disque, le nom complet du fichier devient alors « C:\Mes Documents\exemple 1.doc «.

Vous connaissez peut-être l'invite MS-Dos, pour l'avoir connue avant Windows 95 ou seulement après. Dans les deux cas, tout nom de fichier comportant des caractères interdits avant Windows 95 (tels les espaces, les caractères accentués) devra être donné entre guillemets : " ".
(Il n'est pas question ici de vous apprendre les commandes DOS, pour cela, consultez un manuel ou l'aide de Windows)

Si vous utilisez Delphi à la fac ou tout autre lieu où Delphi est directement accessible, vous pouvez passer ce paragraphe puisque Delphi est probablement directement accessible sur les ordinateurs. Vous ne pourrez et ne devez pas en général installer de logiciels sur ces ordinateurs pour éviter les risques d'infection par d'éventuels virus.

Sinon, selon la version de Delphi que vous possédez, le fichier à lancer change en général assez peu, généralement, c'est setup.exe ou install.exe . L'installation vous propose un certain nombre d'options, comme l'emplacement de Delphi sur votre disque, ou les composantes de Delphi à installer. Un bon choix pour le répertoire est quelque chose de court n'utilisant pas de noms longs (par exemple : un répertoire BORLAND ou INPRISE à la racine de votre disque dur, puis un répertoire DELPHI où vous installez Delphi), parce que vous aurez un jour besoin (quoique ce besoin tende à disparaître avec les versions récentes de Delphi) de vous balader dans le répertoire en mode DOS, et que taper des noms longs sous DOS n'est pas un sport très agréable à pratiquer (imaginez vous simplement taper la commande :

 
Sélectionnez

cd "program files\borland\delphi 6\source\rtl\win"

Avec les choix que je vous ai donné, vous taperez plutôt :

 
Sélectionnez

cd borland\delphi\source\rtl\win

Ce qui est quand même plus court, et vous comprendrez rapidement qu'un minimum de paresse (mais n'allez pas me faire dire plus) en informatique ne fera de mal à personne et surtout pas à vous.

D'autre part, parmi les options d'installation, assurez-vous bien d'inclure toute l'aide possible (l'aide de Delphi et celle des API Windows, même si cela ne vous dit encore rien), l'éditeur d'images (si cette option est proposée), et le source de la VCL (disponibles dans toutes les version sauf les versions standard. Ces éléments seront décrits et utilisés plus tard. Ils sont d'une importance non négligeable et une source irremplaçable pour les plus curieux d'entre vous). L'installation requiert pas mal de place suivant les versions (jusqu'à 200-300 Mo) mais est justifiée par la pléthore d'outils qui sont mis à votre disposition, et dont vous n'apprécierez la puissance qu'à l'usage.

L'installation terminée, des raccourcis ont été créés pour vous dans le menu Démarrer de Windows. Si Delphi a été installé par quelqu'un d'autre que vous, parcourez le menu Démarrer à la recherche des icônes de Delphi, et lancez le logiciel (raccourci nommé « Borland Delphi x » ou « Borland Developer Studio x » où x désigne le numéro de version.

IV-B. Premier contact avec Delphi

Une fois lancé, le logiciel que vous allez utiliser tout au long de votre initiation apparaît : Delphi. La capture d'écran disponible ci-dessous (cliquez sur la petite image pour afficher la grande) montre Delphi 5 (version anglaise) tel qu'il est présenté après un démarrage normal (votre version peut seulement ressembler à la capture d'écran, avec des différences mineures, notamment dans les menus, les icônes de la barre d'outils et la disposition des fenêtres) :

(Note : si vous n'avez pas du tout cette présentation, c'est que quelqu'un s'est plu à tout déplacer. Il est également possible qu'un programme précédemment créé s'ouvre à nouveau, dans ces cas, cliquez sur Fichier, puis Nouveau Projet ou Nouvelle Application)

Image non disponible
(Cette capture montre Delphi 5)

Le texte rouge indique les parties que vous devez pouvoir repérer dés à présent, sans avoir à connaître encore leur utilité :

  • Barre de menus
  • Barre d'outils
  • Palette des composants
  • Editeur de code source (s'il n'est pas visible, ce n'est pas grave pour l'instant, il le sera bientôt)

D'autres fenêtres flottantes (que vous pouvez déplacer) peuvent être présentes sur votre écran. Entre autres l'inspecteur d'objet (à gauche) et une fiche (fenêtre) vide (à droite) comme ci-dessous :

Image non disponible
Image non disponible

Rappelez-vous que vous allez créer des logiciels pour Windows. Ils pourront donc contenir les effets visuels présents dans les autres applications fonctionnant sous Windows, tels les fenêtres, les cases à cocher, les boutons, les menus, les barres d'outils, les infos-bulles : tout ce qui fait d'une application une application Windows.

Delphi permet de créer une application (un logiciel, donc) à la fois, mais permet de créer simultanément les deux aspects interdépendants d'une application :

  1. le coté visible (l'interface, pour les utilisateurs du logiciel) (repensez aux fiches du schémas dans le § III.C.
  2. le coté invisible (là ou se situe l'intelligence du logiciel) constitué en grande partie de programmes (cf. § III.C)

Pour créer un logiciel en utilisant Delphi (on dira plutôt sous Delphi), il faut créer ces deux parties en même temps (c'est-à-dire que les deux parties visibles et invisibles, loin d'être indépendantes, sont vraiment liées dans le sens où la partie visible n'est qu'une façade, un masque sous lequel la partie invisible fait tout le travail. C'est le schéma de l'iceberg : l'utilisateur ne devra voir que la partie au dessus de l'eau, il n'aura pas à se soucier et devra ignorer ce qu'il y a sous l'eau, domaine réservé au programmeur (on dit également développeur) que vous êtes désormais. La partie immergée, bien qu'invisible, prend plus de place, contrôle ce qui est visible au dessus de l'eau et permet à l'iceberg de flotter sans couler !

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 :

Image non disponible

A la création de cette fenêtre, le programmeur tient pour évident que la zone de saisie en haut de la fiche est destinée à recevoir le nom du support, et que celle du dessous recevra le même nom au pluriel. Résultat : aucun texte explicatif ne vient le dire sur la fenêtre, et un utilisateur en manque d'imagination ne saura pas quoi écrire, donc n'écrira probablement rien de peur de se tromper, et se verra dans ce cas adresser un message d'erreur du style « Vous devez indiquer un nom pour le support ! ». Imaginez-vous dans cette situation : frustration ou dégoût ? La solution au problème est ici de réduire la taille des deux zones de saisie afin d'écrire « Nom (singulier) » et « Nom (pluriel) ». (n'essayez pas encore d'effectuer de manipulations dans Delphi, cela sera vu en détail dans la suite du guide). Au contraire, la case à cocher du dessous est bien signalisée, l'utilisateur sait ce qu'il active comme option en la cochant.

Delphi met à votre disposition tout un arsenal (et je vous assure que le mot n'est pas trop faible) d'outils pour réaliser une interface (partie d'un logiciel réservée aux utilisateurs) fouillée, précise et agréable. Mais ceci a un prix : vous devez savoir vous servir de Delphi pour apprécier la puissance qui est mise à votre disposition.

Dans la partie qui vient, quelques principes de Delphi vont être abordés. Cette partie que vous allez peut-être trouver fastidieuse est un passage obligé pour bien comprendre l'interface de Delphi qui sera examinée ensuite.

IV-D. Notions de base de la programmation sous Delphi

IV-D-1. La notion de projet

Delphi permet de créer une seule application (un futur logiciel) à la fois, ouverte en tant que projet. Un projet est l'état non compilé d'une application (d'un logiciel). Chaque projet compilé devient une application. Concrètement, un projet se compose d'un certain nombre de fichiers et d'options (également stockées dans des fichiers). Une sage habitude est de consacrer complètement un répertoire (dossier) à chaque application qu'on souhaite programmer (chaque projet). Ce répertoire contiendra tous les fichiers constituant le projet (le nombre de fichiers augmentera au fur et à mesure que le projet s'étoffera).

Une application Windows est constitué exclusivement de fenêtres. Tout ce qu'un logiciel vous montre est contenu dans une fenêtre (même si elle est parfois bien déguisée). Les logiciels simples peuvent ne contenir qu'une fenêtre. Ceux qui sont plus compliqués peuvent en contenir des dizaines (rarement plus).

Un projet non compilé (c'est-à-dire avant sa transformation en logiciel), contient ces fenêtres (à l'état non compilées également) : les fiches. Comprenez bien que chaque fenêtre que vous voudrez dans votre logiciel existe d'abord sous forme de fiche. Cette fiche, lors de la compilation du projet en application, sera transformée en fenêtre.

A chaque fiche est adjointe une (et une seule) unité, c'est-à-dire un texte écrit en langage Pascal, qui contiendra tout ce qui se rapporte à cette fiche : ce qu'elle contient (boutons, menus, cases à cocher, …), ce qui doit se passer dans certaines situations (lorsqu'on clique sur un bouton par exemple), et encore bien d'autres choses.

Au niveau informatique, chaque fiche est stockée dans un fichier (ce fichier ne contient que cette fiche et rien d'autre) comportant l'extension 'DFM' (par exemple « Options.dfm »). Chaque unité est également stockée dans un fichier ne contenant que cette unité et portant l'extension 'PAS' (par exemple « Principale.pas »). La fiche et son unité associée portent le même nom (mais pas la même extension) (Delphi ne demande ce nom qu'une seule fois et l'utilise automatiquement pour l'unité et la fiche, ainsi vous n'avez aucun risque de vous tromper). Par exemple, si une fiche est stockée dans le fichier nommé « FichePrinc.dfm », son unité associée sera stockée dans le fichier nommé « FichePrinc.pas ».

Comme un schéma vaut souvent mieux que de longues explications, voici :

Image non disponible

Il est également possible d'utiliser des unités qui n'ont pas de fiche associée. Ceci est utile par exemple pour rassembler des morceaux de programme qui n'ont aucun rapport avec une quelconque fiche, telles des algorithmes de calcul mathématique. Le fichier qui contient cette unité porte l'extension 'PAS', comme s'il avait une fiche associée, mais il n'en a pas : il n'y a pas de fichier nommé identiquement, mais avec l'extension 'DFM'.

Un projet sous Delphi est constitué d'un fichier-projet (portant l'extension 'DPR'), d'unités et de fiches. Chaque fiche a son unité correspondante, mais certaines unités n'ont pas, comme on l'a vu ci-dessus, de fiche associée (il y a toujours au moins autant d'unités que de fiches dans un projet, et souvent plus). Pensez en outre à donner des noms descriptifs, ou au moins significatifs lors des enregistrements des unités ou des fiches (Ainsi, « unit1.pas » est un bien mauvais choix !).

Lors de la compilation du projet (transformation en application), d'autres fichiers seront créés : des fichiers DCU (fichiers portant l'extension 'DCU', essayez de vous habituer à ces abus de langage). Ces fichiers sont la forme compilée des fichiers de même nom qui portent les extensions 'PAS' et 'DFM' : un 'PAS' (avec son 'DFM' associé s'il y en a un) est transformé en 'DCU' lors de la compilation. Un fichier 'EXE' est enfin créé si la compilation atteint son terme (si tous les fichiers 'DCU' ont pu être créés). Ce fichier est nommé avec le même nom de base que celui du fichier projet (fichier DPR).

Le schéma ci-dessous représente la transformation d'un projet en application, avec les éléments que vous devez désormais connaître. Ce projet comporte deux fiches (avec les unités associées) ainsi qu'une unité seule :

Image non disponible

Lors des enregistrements successifs d'un projet, d'autres fichiers avec des extensions ~DP, ~DF, ~PA, ~DC, ~DPR, ~DFM, ~PAS, ~DCU sont créés : ce sont des copies de sauvegarde (des versions plus anciennes) des fichiers portant le même nom, sans le signe tilde (~)

(exemple : « optionsaffich.~PA » est une copie de sauvegarde de « optionsaffich.pas »)

Enfin, d'autres fichiers ayant le même nom que le fichier projet (celui qui porte l'extension DPR) mais avec l'extension .RES, .OPT, .CFG, .DOF, .DSK, .DSM sont créés dans certaines circonstances. Vous n'avez pas à vous souciez de ces fichiers.

Le tableau suivant donne une liste aussi complète que possible des fichiers pouvant être rencontrés dans le répertoire d'un projet Delphi :

Extension du fichier Description et Commentaires
DPR (Delphi PRoject)
Contient l'unité principale du projet
PAS (PAScal)
Contient une unité écrite en Pascal. Peut avoir un .DFM correspondant
DFM (Delphi ForM : fiche Delphi)
Contient une fiche (une fenêtre). Le .PAS correspondant contient toutes les informations relatives au fonctionnement de cette fiche, tandis que le .DFM contient la structure de la fiche (ce qu'elle contient, sa taille, sa position, …). Sous Delphi 5, les .DFM deviennent des fichiers texte qu'il est possible de visualiser et de modifier. La même manipulation est plus délicate mais possible sous Delphi 2 à 4.
DCU (Delphi Compiled Unit : Unité compilée Delphi)
Forme compilée et combinée d'un .PAS et d'un .DFM optionnel
~??? Tous les fichiers dont l'extension commence par ~ sont des fichiers de sauvegarde, pouvant être effacés pour faire place propre.
EXE Fichier exécutable de l'application. Ce fichier est le résultat final de la compilation et fonctionne sous Windows exclusivement. Pour distribuer le logiciel, copier ce fichier est souvent suffisant.
RES (RESsource)
Fichier contenant les ressources de l'application, tel son icône. Ce fichier peut être édité avec l'éditeur d'images de Delphi. Ces notions seront abordées plus loin dans ce guide.
DOF
DSK
CFG
Fichiers d'options : suivant les versions de Delphi, ces fichiers contiennent les options du projet, les options d'affichage de Delphi pour ce projet, ...


Lorsque vous aurez atteint des projets assez importants en taille (donc en nombre de fichiers), il pourra être avantageux de régler Delphi pour qu'il place les fichiers DCU d'une part, et le fichier EXE d'autre part, dans d'autres emplacements. Ceci permet de bien ranger les fichiers d'un projet. Cette manipulation sera décrite plus tard dans le guide.

IV-D-2. La notion de composant

Les plus attentifs auront certainement déjà fait le rapport avec une certaine « Palette des composants » déjà mentionnée précédemment, et qui le sera plus en détail dans un avenir très proche.

Nous avons déjà vu que Delphi permet de créer des programmes (on assimile souvent, par abus, le terme programme et le terme logiciel. Ici, les « programmes » mentionnés désignent des logiciels et non des textes en Pascal comme vous l'avez vu plus tôt) sous Windows, avec la possibilité d'utiliser ce que propose Windows à tout logiciel, à savoir tout un tas d'éléments prédéfinis permettant l'interaction avec l'utilisateur : Les fiches (i.e. les fenêtres : rappelez vous que 'Windows', en anglais, cela signifie 'Fenêtres') sont les premiers de ces éléments, mais il y en a une foule d'autres, parmi lesquels les boutons, les cases à cocher, les zones d'édition, les menus, les barres d'outils, les listes, les arbres (pensez à la partie gauche de l'Explorateur Windows) et encore des tas d'autres (Chacun de ces éléments se retrouve dans bon nombre de logiciels, et pour cause : Windows les fournit en standard aux programmeurs).

Chacun de ces éléments, à l'exception des fiches qui ont un statut particulier, est représenté par le terme composant, et est à ce titre accessible dans la « palette des composants » de Delphi. Ces composants seront, comme s'il s'agissait de dessiner, placés, dimensionnés, réglés un par un sur les fiches et permettront de constituer une interface utilisateur (le terme "dessin" est bien celui qui convient sous Delphi : Vous pourrez vraiment placer n'importe quel composant sur une fiche, tel un bouton, le déplacer, le dimensionner à loisir. C'est, vous pourrez le constater par vous-même, très agréable au début, on a un peu l'impression de jouer au magicien)

IV-D-3. Propriétés et événements

Ces notions sont assez délicates et nous allons juste expliquer ici le strict minimum qu'il vous faut savoir pour comprendre le fonctionnement de l'inspecteur d'objets (fenêtre « Inspecteur d'objets » de Delphi) dans la partie suivante.

En examinant l'inspecteur d'objets, vous avez certainement découvert deux onglets mystérieux : « Propriétés » et « Evénements ». Ces deux termes s'appliquent à tout « composant » accessible dans la barre de composants de Delphi, ainsi qu'aux fiches. Chaque fiche, chaque composant possède une liste de propriétés et une liste d'évènements.

Les propriétés sont des paramètres réglables pour un composant. Par exemple : les dimensions, les couleurs, les polices, le titre d'une fenêtre, le texte d'un bouton...

Les évènements sont tout autre : Lorsque vous utilisez un logiciel, vous provoquez sans cesse des évènements, sans même le savoir. Ainsi, clics et mouvements de souris, touches frappées au clavier font partie des évènements les plus simples. D'autres sont provoqués lorsqu'une fenêtre devient visible, invisible, lorsqu'une case à cocher est cochée, lorsque dans une liste un élément est sélectionné...

La presque totalité des composants déclenchent des évènements pendant l'exécution du logiciel. Ces évènements seront pour vous autant d'informations sur les agissements de l'utilisateur, et vous pourrez répondre à tel ou tel événement ou l'ignorer totalement (ce qui est le cas par défaut).

IV-E. Premier aperçu de l'interface de Delphi

L'objet de cette partie est autant de vous familiariser avec l'interface de Delphi que de donner des informations fondamentales mais complètes sur la gestion des projets sur Delphi. Le mieux est d'avoir Delphi ouvert en même temps que ce document et d'effectuer au fur et à mesure les manipulations afin de briser la glace entre vous et Delphi.

L'utilisateur de Windows que vous êtes sûrement aura peut-être remarqué que Delphi n'est pas une fenêtre unique qui mobiliserait tout l'écran, avec des sous-fenêtres à l'intérieur, mais est constitué d'un « bandeau » regroupant menus, barres d'outils et palette de composants. Les autres fenêtres du logiciel peuvent être positionnées n'importe où sur l'écran. En voici quelques-unes parmi les plus importantes :

  • L'inspecteur d'objets, dans une fenêtre flottante, est un outil indispensable et vous apprendrez à apprécier sa puissance cachée.
  • L'éditeur de code, qu'il contienne seulement du texte ou qu'il soit agrémenté d'autres petites parties (qui ne seront décrites en détail que lorsque vous aurez les connaissances nécessaires pour les utiliser), est l'endroit ou vous écrirez votre Pascal.

Mais place aux détails.

IV-E-1. La barre de menus

Dans toute application Windows suffisamment imposante, une barre de menus permet d'accéder à la plupart des commandes disponibles. Delphi ne fait pas exception à cette règle sage, avec une barre de menus assez bien conçue (à partir de la version 4 en tout cas, mais ceci est une question de goût).

Le menu Fichier permet la gestion des fichiers constituant le projet en cours, le menu Edition permet les fonctions classiques d'édition du texte, le menu Recherche permet d'effectuer des recherches dans de longs programmes, le menu Voir permet d'avoir accès aux différentes fenêtres de Delphi, d'afficher des éléments constituant une application, le menu Projet permet d'accéder aux commandes spécifiques au projet (l'application en gestation) en cours, le menu Exécuter permet la compilation et le lancement de l'application ainsi créée, le menu Outils donne accès à divers outils de Delphi, donc un seul est vraiment intéressant : l'éditeur d'images. Le menu Aide, enfin, permet d'accéder à l'aide du logiciel, plus ou moins bien faite suivant les versions (l'aide de la version 2 est assez mal fichue, celles des autres versions est nettement mieux faite), et l'accès à l'aide sur les API Microsoft (tout cela sera expliqué plus tard).

Il ne s'agit pas ici de connaître chacun des éléments de menus de Delphi, c'est inutile à ce stade car certaines commandes ne servent qu'en de rares occasions. Il est cependant essentiel de vous familiariser avec les commandes les plus utiles pour la gestion des projets : Nouveau…, Ouvrir, Enregistrer, Enregistrer sous…, Fermer. Il est malheureusement difficile ici de décrire ces éléments qui changent légèrement avec les versions de Delphi. Voici la description de quelques éléments pour Delphi 6 (ces éléments se retrouvent tous sous un nom très voisin dans les versions moins récentes) :

IV-E-1-a. Menu Fichier
Nouveau… Permet de créer un nouvel élément. Cet élément peut être beaucoup de choses, parmi lesquelles un projet, une unité (un .PAS sans .DFM correspondant), une fiche (un .PAS et un .DFM associés) et beaucoup d'autres choses qui dépassent le cadre de ce guide (certains choix, comme 'Composant', 'Cadre', 'DLL' seront abordées plus loin).
Ouvrir Permet d'ouvrir un fichier : on ouvre un projet en ouvrant son fichier .DPR unique. On ouvre une fiche en ouvrant le fichier .DFM ou le fichier .PAS correspondant. On ouvre une unité (sans fiche) en ouvrant le .PAS qui la contient. Enfin, tout fichier texte peut être ouvert dans Delphi, selon des besoins divers et variés.
Enregistrer Permet d'enregistrer l'élément en cours d'édition. Cet élément est soit une unité (cf. description de l'éditeur de code), soit une fiche. Si l'élément n'a encore pas été enregistré, un nom vous sera demandé. Il peut être temps de créer un répertoire pour le projet, et de réfléchir au nom du futur fichier .EXE du logiciel si on enregistre le .DPR (car il est rappelé que ces deux fichiers ont le même nom de base).
Enregistrer sous... Comme enregistrer, mais permet en plus de définir un nouveau nom.
Tout Enregistrer Permet d'enregistrer d'un coup tous les fichiers d'un projet ouvert. Des noms de fichiers vous seront demandés si c'est nécessaire.
Fermer Ferme l'élément en cours d'édition. Propose l'enregistrement si c'est nécessaire.
Tout Fermer Ferme tous les éléments ouverts dans Delphi. Dans Delphi 2 à 4, si j'ai bonne mémoire, c'est plutôt 'Fermet Projet'.
Quitter Quitte Delphi
IV-E-1-b. Autres menus

Chacun des autres menus possède des commandes intéressantes, mais ce serait assez fastidieux de les lister toutes, autant pour vous que pour moi, sachez toutefois que chacune de ces commandes sera nommée et expliquée en temps voulu dans le guide.

IV-E-2. La barre d'outils

Comme dans toute application Windows, la barre d'outils permet l'accès rapide à certaines commandes des menus. Il est impossible ici de décrire chaque bouton étant donné qu'ils changent à chaque version de Delphi. Pour avoir une description de chaque bouton, lisez la bulle d'aide qui ne manquera pas de s'afficher lors du passage de la souris.

La barre d'outils pourra, dès la version 2, être personnalisée pour être agrémentée à vos goûts et habitudes. Pour cela, effectuez un clic droit sur l'une des barres et une commande « personnaliser » devrait être disponible. Les manipulations pour personnaliser les barres sont similaires à celles qu'on rencontre dans des logiciels tels Microsoft Word.

IV-E-3. La palette des composants

Cette palette, généralement située à droite en dessous des menus, donne accès à l'ensemble des composants (voir définition plus haut si besoin) utilisables avec Delphi. Ces composants, trop nombreux pour être tous présents sur une simple barre d'outils, sont présents dans un classeur à onglets. Chacun de ces onglets donne accès à un certain nombre de composants. C'est ici que vous trouverez ce que Windows vous offre pour constituer votre interface : boutons, listes, cases à cocher, arbre et listes, grilles, ...

Il n'est pas encore nécessaire pour vous de connaître une liste de composants utiles, cela viendra plus tard. Pour l'instant, prenez simplement le temps de choisir un onglet, et de promener la souris (sans cliquer) sur chacun des boutons qui apparaissent. Les petites images présentes sur ces boutons vous feront parfois penser à des éléments que vous connaissez déjà, tel celui présenté ci-dessous (présent dans l'onglet 'Standard') :Image non disponible Composant MainMenu qui représente une barre de menus ('MainMenu' s'affiche dans une bulle d'aide pour ce bouton)

Il n'est pas encore question ici pour vous de commencer à créer une interface, alors évitez de cliquer ou de double-cliquer sur ces boutons. Dans la suite du guide, vous trouverez une liste des composants à connaître, ainsi qu'une description et leurs utilisations possibles.

Voici maintenant l'instant tant attendu de la manipulation. La suite d'instructions ci-dessous vous permettra de placer un bouton sur une fiche :

  1. Créez un nouveau projet (en utilisant les menus de Delphi) : menu Fichier, commande 'Nouveau Projet' ou 'Nouvelle Application'
  2. Ceci a pour effet de créer un projet minimum constitué du fichier projet (non visible), d'une unité et de la fiche correspondante à cette unité. Vous devez à présent avoir sous les yeux une fiche vide :

    Image non disponible

    Si vous avez seulement du texte coloré du genre 'unit unit1; …', appuyez sur F12 pour voir la fiche. Remarque : les points répartis en une grille sur la fiche servent à placer les composants. Ces points n'existent plus lorsque la fiche est compilée et devient une fenêtre.

  3. Une fois la fiche visible à l'écran, allez dans la palette des composants, trouvez le bouton Image non disponible Button (son info-bulle doit être 'Button') dans l'onglet nommé 'Standard', et cliquez une seule fois dessus, ceci a pour effet de le faire paraître enfoncé.
  4. Cliquez maintenant une seule fois a peu près au centre de la fiche. Ceci a pour effet de placer un bouton ('button' en anglais) sur la fiche avec comme texte probable : 'Button1'.

    Image non disponible
  5. Pour déplacer le bouton, cliquez dessus (en dehors des petits carrés noirs), et déplacez la souris en maintenant le bouton gauche de la souris : le bouton suit la souris et se repositionne quand vous relâchez le bouton gauche (c'est la même manipulation que celle qui permet, par exemple, de faire un glisser-déposer (drag-drop) dans l'explorateur de Windows). La même manipulation est possible avec la fiche en cliquant sur sa barre de titre.
  6. Pour changer la taille du bouton, positionnez le pointeur de la souris sur l'un des carrés noirs qui entourent le bouton (si ces poignées ne sont pas visibles, cliquez une fois sur le bouton, et plus généralement, retenez qu'on peut sélectionner un composant en cliquant dessus) : maintenez le bouton gauche de la souris enfoncé et déplacez ainsi le petit carré en question. Ceci permet de changer les dimensions d'un composant. La même manipulation est possible avec la fiche comme avec n'importe quelle fenêtre Windows redimensionnable.
  7. Enregistrez maintenant le projet dans un répertoire vide de votre choix en cliquant sur le menu Fichier, puis 'Tout Enregistrer' ou 'Enregistrer projet'. Des noms de fichiers vont vous être demandés, avec de bien mauvaises suggestions. Lorsqu'on vous demandera de nommer le projet (nom suggéré : 'project1.dpr'), tapez à la place 'PremierEssai' (Delphi rajoutera '.dpr' tout seul). Lorsque l'on vous demandera un nom pour la seule unité de votre projet (nom suggéré : 'unit1.pas'), tapez à la place 'principale' (de même, Delphi ajoutera '.pas' tout seul). (Remarque : Puisque vous êtes sous Windows 95 ou ultérieur, vous pouvez taper des noms de plus de 8 caractères, ce qui est fort appréciable. Vous pouvez également utiliser des majuscules, mais vous devez vous limiter à des noms commençant par une lettre, sans espaces et n'utilisant que des lettres, des chiffres et le caractère _ (blanc souligné), mais pas de - (tiret), d'accents ou de caractères exotiques qui seraient rejetés par Delphi ou provoqueraient des erreurs (La raison de ces limitation sera donnée plus tard).
  8. Vous voulez lancer votre premier projet (en faire un logiciel et l'exécuter) ? Rien de plus simple, appuyez sur F9. Ceci a parfois pour effet de montrer une petite fenêtre informant de la progression de la compilation. Ensuite, quelque chose de ce genre devrait apparaître :

    Image non disponible

    Bien sûr, pour un premier essai, ce n'est pas une interface très élaborée, mais c'est un logiciel pour Windows que vous avez devant les yeux. Essayez de cliquer sur le bouton. Il ne se passe rien parce que vous n'avez rien prévu qu'il se passe. Il aurait fallu répondre à l'événement « clic sur le bouton » et donner des instructions, mais c'est encore un peu tôt.

  9. Pour quitter (à regret ou pas) votre premier logiciel, deux choix, soit vous appuyez sur Alt + F4, soit vous cliquez sur la petite croix en haut à droite de sa fenêtre. Vous revenez alors sous Delphi (l'une des premières choses que nous ajouterons sera un menu Fichier avec un choix Quitter).

IV-E-4. L'inspecteur d'objets

Si vous ne voyez pas la fenêtre « Inspecteur d'objets » actuellement, appuyez sur F11, ou dans le menu Voir, sélectionnez 'Inspecteur d'objets'. L'inspecteur d'objets permet, en employant des termes qui doivent maintenant vous être familiers, de modifier les propriétés et d'accéder aux événements des composants et des fiches. C'est un outil constamment utilisé lors de la conception de l'interface de vos logiciels. Il se compose d'une liste déroulante (combo), listant les composants présent sur une fiche, ainsi que cette fiche. Les propriétés et événements d'un élément sélectionné sont classées dans les deux onglets 'Propriétés' et 'Evénements'.

Pour éditer un composant ou la fiche dans l'inspecteur d'objets, il suffit de cliquer dessus dans la fiche correspondante (ceci le sélectionne). Essayez donc maintenant en cliquant (une seule fois) sur le bouton que vous venez de créer. L'inspecteur d'objet se met à jour si besoin en affichant les propriétés ou les événements de ce bouton (suivant l'onglet de l'inspecteur d'objets sélectionné). Cliquez maintenant sur la fiche (à un endroit où vous voyez le quadrillage) : le contenu de l'inspecteur d'objets change encore une fois pour afficher les propriétés et événements relatifs à la fiche.

Voici une manipulation qui vous aidera à comprendre son fonctionnement :

  1. A partir du projet dans l'état où il doit être actuellement (une fiche avec un bouton dessus au centre), vérifiez que c'est bien la fiche qui est sélectionnée (en cliquant une fois sur un espace de la fiche ne contenant pas de composant) (si la fiche n'est pas visible, affichez l'inspecteur d'objets et appuyez sur F11).
  2. L'inspecteur d'objets doit montrer le texte suivant dans la zone de sélection déroulante :

    Image non disponible

    Ici, c'est l'onglet 'Propriétés' (" properties " en anglais) qui est sélectionné. En dessous, deux colonnes : la première donne le nom des propriétés disponibles, celle de droite donne leur valeur actuelle. Essayez de cliquer sur l'onglet 'Evénements' (« events » en anglais) pour voir la liste des événements disponibles. Normalement, à ce stade du développement, aucun événement ne doit avoir de valeur. Retournez sur l'onglet 'Propriétés'.

  3. En utilisant si besoin la barre de défilement de droite, trouvez la propriété dont le nom est 'Caption' ('Légende' en français).

    Image non disponible
  4. Sélectionnez cette propriété en cliquant soit sur son nom, soit sur sa valeur (qui doit être 'Form1')

    Image non disponible
  5. La propriété 'Caption' d'une fiche correspond au texte qui est écrit dans sa barre de titre (le bandeau supérieur coloré). Vous pouvez modifier librement ce texte en vous servant de la zone d'édition contenant le texte 'Form1'. En même temps que vous tapez dans cette zone de saisie, regardez la barre de titre de votre fiche, et remarquez comment elle se met à jour selon le texte que vous tapez. Une fois que vous avez terminé l'édition du texte, cliquez simplement ailleurs ou appuyez sur Entrée pour accepter le nouveau texte. Appuyez plutôt sur Echap pour revenir au texte tel qu'il était avant votre dernière intervention.
  6. Sélectionnez maintenant le bouton (en cliquant une fois dessus). Vous constatez qu'ici encore, une propriété 'Caption' est disponible. Changez-là et observez : 'Caption' désigne le texte affiché sur le bouton. Mais ici, entrer un texte trop long le fait dépasser des bords du bouton, il va falloir régler la largeur du bouton.
  7. La largeur ('Width' en anglais) est modifiable via la propriété Width. Cette propriété n'accepte que des nombres entiers positifs. Essayez par exemple d'entrer 120 comme largeur : le bouton doit se redessiner et être plus large qu'avant (sa largeur d'origine est normalement 75). Fixez comme texte du bouton : 'Action !' (en modifiant la propriété Caption comme pour la fiche).
  8. Passons maintenant à quelque chose de plus intéressant : les dimensions et l'emplacement de la fiche (vous savez déjà le faire directement avec la souris, mais il est possible de le faire avec l'inspecteur d'objets). Les propriétés concernées sont : 'Left', 'Top', 'Width', 'Height' (Respectivement Gauche, Haut, Largeur, Hauteur en français). Essayez de modifier ces 4 propriétés et regardez l'effet que cela a sur la fiche (évitez les valeurs extravagantes et remarquez comme Delphi refuse les valeurs négatives).
  9. Fixez enfin comme valeurs respectives de ces 4 propriétés : 200, 130, 400, 260. (Remarque : presque tous les composants que vous placerez sur une fiche disposeront de ces 4 propriétés permettant de décider précisément des dimensions et de l'emplacement du composant).

IV-E-5. L'éditeur de code

L'éditeur de code est l'endroit où vous taperez l'intégralité des instructions en langage Pascal. Cet éditeur présente une série d'onglets en haut, qui donnent en titre le nom de l'unité éditée actuellement. En appuyant sur F12 lorsque l'onglet d'une unité est sélectionné, on affiche la fiche qui lui correspond (seulement si elle existe, et inversement, depuis une fiche, F12 permet de voir l'unité qui lui correspond). Ces onglets permettent également de changer d'unité éditée. L'éditeur en lui-même est un éditeur de texte assez classique avec les fonctions d'insertion, d'effacement et de copier-coller, à ceci près qu'il mettra en évidence certains mots, certaines parties de texte, suivant leur fonction. Ceci sera particulièrement pratique.

A ce propos, la relation entre une fiche et son unité est non modifiable. Il n'y a qu'au moment où vous créez une unité ou une fiche que vous avez le choix d'adjoindre ou non une fiche à l'unité. Attention cependant à ne pas tomber dans l'excès : certaines unités n'auront absolument pas besoin de fiche correspondante (des unités comportant exclusivement des calculs mathématiques par exemple, comme cela arrive fréquemment).

Au point où nous en sommes, le texte contenu dans la seule unité du projet doit vous paraître un peu obscur, et je vous comprends (je suis passé par là comme vous). C'est normal, c'est du Pascal (ou plus précisément du Pascal Objet). Remarquez simplement, pour le moment, que certains mots sont colorés, d'autres en gras ou en italique. Cette mise en évidence ne doit évidemment rien au hasard et permet de mettre en évidence certains mots, certaines parties particulières de langage Pascal. La seule ligne que vous pouvez aisément comprendre actuellement, c'est la première :

 
Sélectionnez

unit Principale;

Cette ligne décrit le fichier comme étant une unité nommée Principale. C'est, rappelez-vous, le nom de fichier que vous aviez choisi pour l'unité lors de l'enregistrement du projet. Sachez que le point-virgule termine l'instruction, car cette ligne est bel et bien une instruction écrite en Pascal. Delphi se chargera tout seul de cette instruction comme de quelques autres que nous verrons plus tard.

IV-E-6. Conclusion

Voilà, vous en savez maintenant assez sur Delphi pour le moment, vous pouvez maintenant enregistrer le projet. Nous allons passer à une partie plus théorique pendant laquelle vous utiliserez les connaissances déjà acquises et le projet dans son état actuel pour effectuer les premières manipulations et les exercices et tester les résultats. Ainsi, vous ferez vos premiers pas en Delphi en même temps que vos premiers pas en Pascal.


précédentsommairesuivant

  

Copyright © 2008 Frédéric Beaulieu. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.