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 :
cd "program files\borland\delphi 6\source\rtl\win"
Avec les choix que je vous ai donné, vous taperez plutôt :
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)
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 :
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 :
- le coté visible (l'interface, pour les utilisateurs du logiciel) (repensez aux fiches du schémas dans le § III.C.
- 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 :
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 :
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 :
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') : 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 :
- Créez un nouveau projet (en utilisant les menus de Delphi) : menu Fichier, commande 'Nouveau Projet' ou 'Nouvelle Application'
-
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 :
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.
- Une fois la fiche visible à l'écran, allez dans la palette des composants, trouvez le bouton 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é.
-
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'.
- 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.
- 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.
- 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).
-
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 :
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.
- 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 :
- 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).
-
L'inspecteur d'objets doit montrer le texte suivant dans la zone de sélection déroulante :
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'.
-
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).
-
Sélectionnez cette propriété en cliquant soit sur son nom, soit sur sa valeur (qui doit être 'Form1')
- 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.
- 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.
- 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).
- 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).
- 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 :
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.