Академический Документы
Профессиональный Документы
Культура Документы
Borland ®
C++Builder 6™
pour Windows™
Reportez-vous au fichier DEPLOY.TXT situé dans le répertoire racine de votre produit C++Builder 6 pour obtenir
la liste complète des fichiers que vous pouvez distribuer en accord avec les termes du contrat de licence
de C++Builder.
Les applications mentionnées dans ce manuel sont brevetées ou en attente de brevet. Ce document ne donne
aucun droit sur ces brevets. Reportez-vous au CD du produit ou à la boîte de dialogue A propos.
COPYRIGHT © 1983, 2002 Borland Software Corporation. Tous droits réservés. Tous les produits Borland sont
des marques commerciales ou des marques déposées de Borland Software Corporation aux Etats-Unis ou dans
les autres pays. Toutes les autres marques sont la propriété de leurs fabricants respectifs.
CPE1360WW21000 6E2R0102
0203040506-9 8 7 6 5 4 3 2 1
PDF
Table des matières
Chapitre 1 Types de projets. . . . . . . . . . . . . . . . . . . 3-9
Applications CLX . . . . . . . . . . . . . . . 3-10
Introduction 1-1 Applications serveur Web . . . . . . . . . . 3-10
Qu’est-ce que C++Builder ? . . . . . . . . . . . 1-1
Applications de bases de données . . . . . 3-11
Enregistrement de C++Builder. . . . . . . . . . 1-2
Administrateur BDE. . . . . . . . . . . . 3-12
Où trouver des informations ? . . . . . . . . . . 1-3
Explorateur SQL
Aide en ligne . . . . . . . . . . . . . . . . . . 1-4
(explorateur de base de données) . . . 3-12
Aide F1 . . . . . . . . . . . . . . . . . . . . . 1-4
Module base de données . . . . . . . . . 3-12
Documentation imprimée . . . . . . . . . . . . 1-6
Dictionnaire de données . . . . . . . . . 3-13
Services de support développeur . . . . . . . . 1-6
Composants personnalisés . . . . . . . . . . 3-13
Conventions typographiques. . . . . . . . . . . 1-6
DLL . . . . . . . . . . . . . . . . . . . . . . . 3-13
Chapitre 2 COM et ActiveX. . . . . . . . . . . . . . . . 3-14
Bibliothèques de types . . . . . . . . . . 3-14
Parcours rapide
de l’environnement 2-1 Chapitre 4
Démarrage de C++Builder . . . . . . . . . . . . 2-1 Tutoriel : création
L’EDI . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Menus et barres d’outils . . . . . . . . . . . . . 2-2
d’un éditeur de texte 4-1
Démarrage d’une nouvelle application . . . . . 4-1
Le concepteur de fiche, la palette de composants
Définition des valeurs d’une propriété . . . . . 4-2
et l’inspecteur d’objets . . . . . . . . . . . . . 2-3
Ajout de composants à la fiche . . . . . . . . . . 4-3
L’arborescence d’objets . . . . . . . . . . . . . . 2-4
Ajout du support pour un menu
Le référentiel d’objets . . . . . . . . . . . . . . . 2-5
et une barre d’outils . . . . . . . . . . . . . . . 4-6
L’éditeur de code . . . . . . . . . . . . . . . . . 2-6
Différences entre l’éditeur du gestionnaire
Audit de code . . . . . . . . . . . . . . . . 2-6
d’actions et l’éditeur de liste d’actions . . . 4-7
Navigation dans le code . . . . . . . . . . 2-7
Ajout d’images aux menus et à la barre
La page Diagramme . . . . . . . . . . . . . . 2-8
d’outils (Entreprise et Professionnel) . . . . 4-7
Visualisation du code des fiches . . . . . . . 2-9
Ajout d’actions au gestionnaire d’actions
L’explorateur de classe . . . . . . . . . . . . . . 2-9
(Entreprise et Professionnel) . . . . . . . . . 4-9
Le gestionnaire de projet . . . . . . . . . . . . . 2-9
Ajout d’actions standard
Liste A faire . . . . . . . . . . . . . . . . . . . . 2-10
(Entreprise et Professionnel) . . . . . . . . 4-11
Chapitre 3 Ajout d’un menu
(Entreprise et Professionnel) . . . . . . . . 4-13
Programmation avec C++Builder 3-1 Ajout d’une barre d’outils
Création d’un projet . . . . . . . . . . . . . . . . 3-1 (Entreprise et Professionnel) . . . . . . . . 4-14
Ajout de modules de données . . . . . . . . 3-2 Ajout d’une liste d’images et d’images
Construction de l’interface utilisateur . . . . . 3-2 (édition Personnelle) . . . . . . . . . . . . 4-15
Positionnement des composants Ajout d’actions à la liste d’actions
sur une fiche . . . . . . . . . . . . . . . . . 3-2 (édition Personnelle) . . . . . . . . . . . . 4-16
Définition des propriétés des composants . 3-4 Ajout d’actions standard à la liste d’actions
Ecriture du code . . . . . . . . . . . . . . . . . . 3-5 (édition Personnelle) . . . . . . . . . . . . 4-18
Ecriture des gestionnaires d’événements . . 3-5 Ajout d’un menu (édition Personnelle) . . 4-20
Utilisation des bibliothèques VCL et CLX . 3-6 Ajout d’une barre d’outils
Compilation et débogage des projets . . . . . . 3-7 (édition Personnelle) . . . . . . . . . . . . 4-23
Déploiement des applications . . . . . . . . . . 3-8 Effacement de la zone de texte
Internationalisation d’applications . . . . . . . 3-9 (toutes éditions) . . . . . . . . . . . . . . . . . 4-24
i
Ecriture de gestionnaires d’événements . . . . 4-25 Ajout du support pour un menu . . . . . . . 5-8
Création d’un gestionnaire d’événement Ajout d’un menu . . . . . . . . . . . . . . . 5-10
pour la commande Nouveau . . . . . . . . 4-25 Ajout d’un bouton . . . . . . . . . . . . . . 5-12
Création d’un gestionnaire d’événement Affichage d’un titre et d’une image . . . . . . 5-12
pour la commande Ouvrir . . . . . . . . . 4-28 Ecriture d’un gestionnaire d’événements . . . 5-14
Création d’un gestionnaire d’événement Ecriture d’un gestionnaire d’événement pour
pour la commande Enregistrer . . . . . . . 4-29 la commande Mise à jour immédiate ! . . 5-14
Création d’un gestionnaire d’événement Ecriture d’un gestionnaire d’événement
pour la commande Enregistrer sous . . . . 4-30 pour la commande Quitter. . . . . . . . . 5-15
Création d’un fichier d’aide . . . . . . . . . . . 4-32 Ecriture d’un gestionnaire d’événement
Création d’un gestionnaire d’événement pour fermer la fiche . . . . . . . . . . . . . 5-15
pour la commande Rubriques d’aide . . . 4-32
Création d’un gestionnaire d’événement Chapitre 6
pour la commande Index de l’aide . . . . 4-33 Personnalisation du bureau 6-1
Création d’une boîte de dialogue A propos . . 4-34 Organisation de votre espace de travail . . . . . 6-1
Achèvement de l’application . . . . . . . . . . . 4-36 Agencement des menus
et des barres d’outils . . . . . . . . . . . . . 6-1
Chapitre 5 Ancrage des fenêtres d’outils . . . . . . . . . 6-2
Tutoriel : création d’une application Enregistrement des dispositions du bureau . 6-4
de base de données CLX 5-1 Personnalisation de la palette de composants . 6-5
Présentation de l’architecture Organisation de la palette de composants . . 6-5
des bases de données . . . . . . . . . . . . . . 5-1 Création de modèles de composants . . . . . 6-5
Création d’une nouvelle application CLX . . . 5-2 Installation de paquets de composants. . . . 6-6
Installation des composants Utilisation des cadres . . . . . . . . . . . . 6-7
d’accès aux données . . . . . . . . . . . . . . . 5-3 Ajout de contrôles ActiveX. . . . . . . . . 6-8
Installation de la connexion Définition des options des projets . . . . . . . . 6-8
à la base de données . . . . . . . . . . . . . 5-3 Définition des options de projet par défaut . 6-8
Installation de l’ensemble de données Spécification des modèles de projet
unidirectionnel . . . . . . . . . . . . . . . . 5-5 et de fiches par défaut . . . . . . . . . . . . . . 6-8
Installation du fournisseur, Ajout de modèles au référentiel d’objets. . . 6-9
de l’ensemble de données client Définition des préférences pour les outils . . . 6-10
et de la source de données . . . . . . . . . 5-5 Personnalisation du concepteur de fiche. . 6-10
Conception de l’interface utilisateur . . . . . . 5-6 Personnalisation de l’éditeur de code . . . 6-11
Création de la grille
et de la barre de navigation. . . . . . . . . 5-7 Index I-1
ii
Chapitre
1
Introduction
Chapitre 1
Introduction 1-1
Enregistrement de C++Builder
Enregistrement de C++Builder
C++Builder peut être enregistré de plusieurs façons. La première fois que vous
lancez C++Builder après son installation, vous êtes invité à entrer un numéro
de série et une clé d’autorisation. Après cela, la boîte de dialogue
d’enregistrement vous propose trois possibilités :
• En ligne (enregistrement et activation du logiciel).
Utilisez cette option pour effectuer l’enregistrement en ligne via votre
connexion internet en cours.
• Par téléphone ou navigateur Web (enregistrement et activation du logiciel).
Utilisez cette option pour effectuer l’enregistrement par téléphone ou via votre
navigateur web. Si vous avez reçu une clé d’activation par e-mail, entrez-la en
utilisant cette option.
• Je m’enregistrerai ultérieurement.
L’enregistrement en ligne est le moyen le plus simple d’enregistrer C++Builder,
mais il nécessite qu’une connexion internet soit active. Si vous êtes déjà membre
de la Communauté Borland ou si vous avez un compte d’enregistrement de
logiciel, entrez simplement les informations concernant ce compte. Cela
enregistrera automatiquement C++Builder. Sinon, le processus d’enregistrement
vous propose le moyen de créer un compte.
Remarque Sauf si vous avez une raison particulière de ne pas le faire, préférez l’option
d’enregistrement en ligne.
Introduction 1-3
Où trouver des informations ?
Aide en ligne
Le système d’aide en ligne fournit des informations détaillées sur les
fonctionnalités de l’interface utilisateur, l’implémentation du langage, les tâches
de programmation et les composants de la bibliothèque de composants visuels
Borland (VCL) et de la bibliothèque de composants Borland multiplate-forme
(CLX). Il contient toutes les informations se trouvant dans le Guide du développeur
ainsi que de nombreux fichiers d’aide pour d’autres éléments fournis
avec C++Builder.
Pour afficher la table des matières, choisissez Aide|Aide C++Builder et Aide|
Outils C++Builder et choisissez l’onglet Sommaire. Pour rechercher des
informations sur les objets VCL, CLX ou d’autres sujets, choisissez les onglets
Index ou Rechercher et saisissez votre requête.
Aide F1
Pour obtenir de l’aide sur la VCL, CLX ou tout élément de l’environnement
de développement (y compris les éléments de menu, les boîtes de dialogue,
les barres d’outils et les composants) sélectionnez l’élément et appuyez sur F1.
Appuyez sur F1 au niveau
d’un nom de propriété ou
d’événement dans
l’inspecteur d’objets afin
d’afficher l’aide VCL.
Appuyez sur F1 au
niveau d’un objet dans
le concepteur de fiche.
Introduction 1-5
Documentation imprimée
L’appui sur le bouton Aide dans toute boîte de dialogue affiche également
une aide contextuelle.
Les messages d’erreur issus du compilateur et du lieur apparaissent dans une
fenêtre spéciale située sous l’éditeur de code. Pour avoir de l’aide sur les erreurs
de compilation, sélectionnez un message dans la liste et appuyez sur F1.
Documentation imprimée
Ce manuel, Prise en main, est une introduction à C++Builder. Outre ce manuel,
vous disposez du manuel suivant selon la version de C++Builder que vous avez
acquise : Guide du développeur.
Conventions typographiques
Ce manuel utilise les types de caractères décrits dans le tableau ci-dessous.
Types de
caractères Signification
Espacement fixe Les caractères d’espacement fixe représentent du texte qui apparaît sur
l’écran ou du code. Ils représentent aussi tout texte que vous tapez.
Gras Les mots en gras dans le texte ou les programmes représentent des mots
réservés ou des options du compilateur.
Italique Les mots en italique dans le texte représentent des identificateurs
C++Builder tels que des noms de variables ou de types. Les italiques sont
aussi utilisés pour mettre en valeur certains mots tels que les nouveaux
termes.
Touches Ce type de caractères indique une touche de votre clavier. Par exemple,
“Appuyez sur Echap pour fermer un menu.”
Démarrage de C++Builder
Vous pouvez démarrer C++Builder de plusieurs façons :
• Double-cliquer sur l’icône C++Builder (si vous avez créé un raccourci).
• Choisir Programmes|Borland C++Builder dans le menu Démarrer
de Windows.
• Choisir Exécuter dans le menu Démarrer de Windows, puis entrer Bcb.
• Double-cliquer sur Bcb.exe dans le répertoire CBuilder6\Bin.
L’EDI
Lorsque vous démarrez C++Builder pour la première fois, vous voyez apparaître
quelques-uns des principaux outils proposés dans l’EDI. Dans C++Builder, l’EDI
comprend des barres d’outils, des menus, la palette de composants, l’inspecteur
d’objets, l’arborescence d’objets, l’éditeur de code, l’explorateur de classes,
le gestionnaire de projet et bien d’autres outils. Selon l’édition de C++Builder,
les caractéristiques et les composants disponibles varient.
Palette de composants
prêts à être utilisés dans
votre application.
Editeur de code
permettant de visualiser
et de modifier le code.
L’inspecteur d’objets est utilisé pour changer L’explorateur de code montre les classes, variables
les propriétés des objets et sélectionner les et routines de votre unité et vous permet de naviguer
gestionnaires d’événements. rapidement.
Les pages regroupent les composants selon leurs diverses fonctionnalités. Ainsi
les pages Supplément et Win32 contiennent des contrôles fenêtrés comme
les boîtes de saisie ou les cases à cocher ; la page Dialogues contient les boîtes
de dialogue standard utilisées dans les opérations de fichier comme l’ouverture
ou l’enregistrement de fichiers.
Cliquez ici pour visualiser
Pages de la palette de composants, regroupées par fonctions les autres pages.
Composants
L’arborescence d’objets
L’arborescence d’objets affiche les relations parent-enfant et entre enfants
des composants dans une vue hiérarchique arborescente. Cette arborescence est
synchronisée avec l’inspecteur d’objets et le concepteur de fiche : si vous
déplacez la sélection dans l’arborescence d’objets, elle est déplacée en
conséquence dans l’inspecteur d’objets et dans la fiche.
L’arborescence d’objets vous permet de changer la relation établie entre des
composants. Si par exemple, vous ajoutez des composants volet et case à cocher
à votre fiche, ces deux composants sont frères. Mais, si vous utilisez
l’arborescence d’objets pour déplacer la case à cocher sur l’icône du volet, la case
à cocher devient un enfant du volet.
Si les propriétés d’un objet n’ont pas été renseignées, l’arborescence d’objets
affiche un point d’interrogation rouge à côté. Vous pouvez également double-
cliquer sur un objet dans l’arborescence pour ouvrir l’éditeur de code afin
d’écrire un gestionnaire d’événement.
Si l’arborescence d’objets n’apparaît pas, sélectionnez Voir|Arborescence d’objets.
L’arborescence d’objets est particulièrement utile pour afficher les relations entre
objets de base de données.
Le référentiel d’objets
Le référentiel d’objets contient des fiches, boîtes de dialogue, modules de
données, experts, exemples d’applications DLL ainsi que d’autres éléments
pouvant simplifier le développement. Choisissez Fichier|Nouveau|Autre pour
afficher la boîte de dialogue Nouveaux éléments par laquelle débute un projet.
Cette boîte de dialogue est également appelée le référentiel d’objets. Recherchez
dans le référentiel un objet qui ressemble à celui que vous voulez créer.
Les pages à onglet du référentiel d’objets
contiennent des objets tels des fiches, des
cadres, des unités, ainsi que des experts
pour créer des éléments spécialisés.
Lorsque vous créez un élément à partir
d’un objet du référentiel, vous pouvez
choisir de copier l’élément, d’hériter de lui
ou de l’utiliser :
Copier (par défaut) crée une copie de
l’élément dans votre projet. Hériter signifie
que les modifications apportées à l’objet du
référentiel sont héritées par l’objet de votre
projet. Utiliser signifie que les modifications
apportées à l’objet de votre projet sont
héritées par l’objet du référentiel.
L’éditeur de code
A mesure que vous construisez l’interface utilisateur de votre application,
C++Builder génère le code sous-jacent. Lorsque vous sélectionnez et modifiez les
propriétés des fiches et des composants, ces modifications sont automatiquement
répercutées dans les fichiers source. Vous pouvez ajouter directement du code
à vos fichiers source en utilisant l’éditeur de code intégré, un éditeur ASCII
complet. C++Builder propose diverses aides à l’écriture de code, dont les outils
d’audit de code (Code Insight), l’achèvement de classe et la navigation dans
le code.
L’ajout de composants
à la fiche est répercuté
dans le code.
Code
généré.
Audit de code
Les outils d’audit de code (Code Insight) affichent des fenêtres surgissantes
contextuelles.
La page Diagramme
En bas de l’éditeur de code, il peut y avoir un ou plusieurs onglets, en fonction
de l’édition de C++Builder que vous utilisez. La page de code dans laquelle vous
écrivez votre code apparaît par défaut au premier plan. La page Diagramme
affiche des icônes reliées par des lignes représentant les relations entre les
composants que vous avez placés dans une fiche ou un module de données.
Ces relations s’établissent entre enfants, de parents à enfants ou entre les
composants et les propriétés.
Pour créer un diagramme, cliquez sur la page Diagramme. Depuis l’arborescence
d’objets, faites glisser vers la page Diagramme une ou plusieurs icônes pour
les organiser verticalement. Pour les organiser horizontalement, appuyez sur Maj
tout en déplaçant les icônes. Quand vous déplacez des icônes ayant des
dépendances de type parent-enfant ou composant-propriété, des lignes
(ou connecteurs) affichant la relation de dépendance sont automatiquement
ajoutées. Si, par exemple, vous ajoutez un composant ensemble de données à un
module de données, puis déplacez dans la page Diagramme l’icône ensemble
de données plus ses icônes de propriété, le connecteur de propriété relie
automatiquement les icônes de propriétés à l’icône de l’ensemble de données.
Pour les composants n’ayant pas de relation de dépendance mais où vous voulez
en voir une, utilisez les boutons de la barre d’outils en haut de la page
Diagramme pour ajouter l’un des quatre types de connecteurs (bloc de texte,
propriété, maître/détail et référence). Vous pouvez également ajouter des blocs
de commentaire qui se connectent ensemble ou à l’icône appropriée.
Depuis l’arborescence des objets, Pour voir d’autres diagrammes nommés du projet
faites glisser les icônes des en cours, choisissez dans la liste déroulante.
composants dans la page
Entrez le nom et la description de votre
Diagramme.
diagramme.
L’explorateur de classe
A l’ouverture de C++Builder, l’explorateur de classe est ancré à gauche de la
fenêtre de l’éditeur de code, la disponibilité de l’explorateur de code dépend
de l’édition de C++Builder dont vous disposez. L’explorateur de classe affiche
la table des matières sous la forme d’une arborescence du code source ouvert
dans l’éditeur de code, en énumérant les types, classes, propriétés, méthodes,
variables globales et les routines définies dans l’unité.
Vous pouvez utiliser l’explorateur de classe pour parcourir le contenu de
l’éditeur de code. Si par exemple, vous double-cliquez sur un nom de méthode
dans l’explorateur de classe, le curseur passe dans l’éditeur de code à sa
définition dans la déclaration de classe de l’unité dans la partie interface
de l’unité.
Pour configurer l’affichage du contenu de l’explorateur de code, choisissez
Outils|Options d’environnement et sélectionnez l’onglet Explorateur.
Le gestionnaire de projet
Lorsque vous démarrez C++Builder pour la première fois, il ouvre
automatiquement un nouveau projet. Un projet comprend plusieurs fichiers qui
constituent ensemble l’application ou la DLL que vous développez. Vous pouvez
voir et organiser ces fichiers, comme les fichiers fiche, unité, ressource, objet et
Liste A faire
Les listes A faire enregistrent les éléments à terminer pour un projet. Vous
pouvez inclure dans une liste des éléments du niveau du projet en les ajoutant
directement à la liste ou vous pouvez ajouter des éléments spécifiques
directement dans le code source. Choisissez Voir|Liste A faire pour ajouter
ou voir des informations associées à un projet.
Ou, choisissez un
composant dans une
liste alphabétique.
De nombreuses propriétés possèdent des valeurs simples, comme les noms des
couleurs, True ou False, et des entiers. Pour les propriétés booléennes, vous
pouvez double-cliquer sur le mot pour passer alternativement de True à False.
Certaines propriétés sont associées à des éditeurs permettant de définir des
valeurs plus complexes. Lorsque vous cliquez sur la valeur d’une de ces
propriétés, des points de suspension apparaissent. Pour certaines propriétés,
comme la taille, il faut entrer une valeur.
Double-cliquez ici pour
changer la valeur True
en False.
Initialisez la propriété
PopupMenu du composant
bouton à PopupMenu1 : toutes
les propriétés du menu
surgissant apparaissent
quand vous cliquez sur le
signe plus (+).
Les références en ligne aux
composants sont affichées
en rouge et les sous-
propriétés en vert.
Ecriture du code
La partie fondamentale de toute application est le code associé à chaque
composant. Bien que l’environnement RAD de C++Builder apporte la majorité
des blocs de construction de vos applications, comme les composants visuels
et non visuels pré-empaquetés, il vous faudra habituellement écrire des
gestionnaires d’événements et, sans doute, certaines de vos propres classes. Pour
vous aider dans cette tâche, les milliers d’objets des bibliothèques de classes VCL
et CLX de C++Builder sont à votre disposition. Pour apprendre à voir et à
modifier votre code source, reportez-vous à “L’éditeur de code” à la page 2-6.
Sélectionnez un
gestionnaire d’événement
existant dans la liste
déroulante.
Ou double-cliquez sur la
colonne de la valeur pour
que C++Builder génère le
squelette du code d’un
nouveau gestionnaire.
TScrollingWinControl TCustomControl
TCustomForm
Internationalisation d’applications
C++Builder offre de nombreuses fonctionnalités consacrées à l’internationalisation
et à la localisation des applications pour différents paramètres régionaux. L’EDI
et la VCL apportent le support des éditeurs de méthodes de saisie (IME) et des
jeux de caractères étendus pour internationaliser votre projet. Lorsque votre
application est internationalisée, vous pouvez créer des versions localisées pour
chacun des marchés étrangers où vous voulez la distribuer. Avec certaines
éditions de C++Builder, vous disposez d’un environnement de traduction qui
permet la localisation des logiciels et le développement simultané dans plusieurs
langues. Il vous permet de gérer plusieurs versions localisées d’une application
comme des parties d’un même projet.
L’environnement de traduction comprend trois outils intégrés :
• L’expert DLL ressource, un expert DLL qui génère et gère les DLL de
ressources.
• Le gestionnaire de traduction, une grille pour visualiser et modifier les
ressources traduites.
• Le référentiel de traduction, base de données partageable pour les traductions.
Pour ouvrir l’expert DLL ressource, choisissez Fichier|Nouveau|Autre et double-
cliquez sur l’icône Expert DLL de ressources. Pour configurer les outils de
traduction choisissez, Outils|Options des outils de traduction.
Types de projets
Toutes les éditions de C++Builder gèrent la programmation Windows 32 bits
générale et permettent d’écrire une grande variété d’applications GUI, de DLL,
de paquets, de composants personnalisés, de contrôleurs COM. Certaines éditions
supportent les applications serveur comme les applications serveur Web, les
applications de bases de données, les serveurs COM, les applications
multiniveaux, les applications CORBA et des systèmes d’aide à la décision.
Applications CLX
Vous pouvez utiliser C++Builder pour développer des applications 32 bits
multiplates-formes fonctionnant à la fois sous Windows et sous Linux. Pour
Linux, la solution Borland C++ n’est pas encore disponible, mais vous pouvez
prendre les devants en développant l’application avec C++Builder aujourd’hui.
Pour développer une application CLX, choisissez Fichier|Nouveau|Application
CLX. L’EDI est similaire à l’environnement d’une application C++Builder
normale, à cette différence que n’apparaissent dans la palette des composants et
dans le référentiel d’objets que les éléments utilisables dans une application CLX.
Les caractéristiques spécifiques Windows gérées par C++Builder ne sont pas
portées directement dans un environnement Linux.
Administrateur BDE
Utilisez l’administrateur BDE (BDEAdmin.exe) pour configurer les pilotes BDE et
définir les alias employés par les contrôles orientés données de la VCL pour se
connecter aux bases de données.
Dictionnaire de données
Le dictionnaire de données fournit un espace de stockage personnalisable
indépendant de vos applications dans lequel vous pouvez créer des jeux
d’attributs de champs étendus décrivant le contenu et l’aspect des données.
Le dictionnaire de données peut résider sur un serveur distant pour un partage
des informations encore plus important.
Composants personnalisés
Les composants livrés avec C++Builder sont pré-installés dans l’EDI et proposent
des fonctionnalités suffisamment étendues pour répondre à la majorité des
besoins de développement. Vous pourriez programmer avec C++Builder pendant
des années sans avoir besoin d’installer de nouveaux composants. Mais, parfois
pour résoudre certains problèmes spéciaux ou encapsuler des types de
comportement très particuliers, la contribution des composants personnalisés
devient nécessaire. Les composants personnalisés favorisent la réutilisation du
code et la cohérence des applications.
Vous pouvez installer des composants personnalisés fournis par des tiers ou
créer les vôtres. Pour créer un nouveau composant, choisissez Composant|
Nouveau composant pour afficher l’expert nouveau composant. Pour installer
des composants fournis par un tiers, voir “Installation de paquets de
composants” à la page 6-6.
DLL
Les DLL (bibliothèques de liaison dynamique) sont des modules compilés
contenant des routines pouvant être appelées par les applications et d’autres
DLL. Une DLL contenant du code et des ressources partageables, elle est
habituellement utilisée par plusieurs applications. Pour créer un modèle de DLL,
choisissez Fichier|Nouveau|Autre et double-cliquez sur l’icône Expert DLL.
COM et ActiveX
C++Builder supporte le standard COM de Microsoft et offre des experts facilitant
la création des contrôles ActiveX. Des exemples de contrôles ActiveX sont
installés dans la page ActiveX de la palette de composants. De nombreux
composants serveur COM sont proposés dans l’onglet Serveurs de la palette de
composants. Vous pouvez les utiliser comme des composants de la VCL.
Par exemple, vous pouvez placer un des composants Microsoft Word sur une
fiche, afin d’offrir une instance de Microsoft Word à l’interface d’une application.
Bibliothèques de types
Les bibliothèques de types sont des fichiers contenant des informations sur les
types de données, les interfaces, les fonctions membres et les classes d’objets
présentées dans un contrôle ou un serveur ActiveX. En incluant une bibliothèque
de types à votre application COM ou votre bibliothèque ActiveX, vous mettez
ces informations à la disposition d’autres applications et d’autres outils de
programmation. C++Builder possède un éditeur de bibliothèques de types qui
permet la création et la maintenance de celles-ci.
Tutoriel : création
Chapitre 4
4
d’un éditeur de texte
Ce tutoriel vous guide dans les étapes de la création d’un éditeur de texte
complet avec des menus, une barre d’outils et une barre d’état.
Remarque Ce tutoriel est réalisable avec toutes les éditions de C++Builder.
Chaque fiche possède ses propres fichiers unité (Unit1.cpp), en-tête (Unit1.h)
et fiche (Unit1.dfm). Si vous créez une deuxième fiche, une deuxième unité
(Unit2.cpp), un deuxième en-tête (Unit2.h) et un deuxième fichier fiche
(Unit2.dfm) sont automatiquement créés.
3 Choisissez Fichier|Tout enregistrer pour enregistrer vos fichiers sur disque.
Lorsque la boîte de dialogue Enregistrer sous apparaît :
• Positionnez-vous sur votre répertoire TextEditor.
• Enregistrez Unit1 en utilisant le nom par défaut Unit1.cpp.
• Enregistrez le projet sous le nom TextEditor.bpr. (L’exécutable portera le
même nom que le projet, avec l’extension .exe.)
Par la suite, vous pourrez enregistrer votre travail à tout moment en choisissant
Fichier|Tout enregistrer.
Lorsque vous enregistrez votre projet, C++Builder crée des fichiers
supplémentaires dans le répertoire de votre projet. Ne le supprimez pas.
1 Pour créer une zone de texte, ajoutez d’abord un composant RichEdit. Pour
trouver le composant RichEdit, sur la page Win32 de la palette de composants,
pointez le curseur de la souris sur une icône de la palette pendant quelques
instants ; C++Builder affiche un conseil d’aide qui donne le nom du
composant.
Zone de saisie
Barre d’état
Remarque Il est possible d’ajouter des images d’une autre liste. Voir “Ajout d’une liste
d’images et d’images (édition Personnelle)”, page 4-15. Cliquez sur OK pour
fermer le dialogue ImageList1.
Cliquez sur la propriété Images, puis sur la flèche vers le bas à côté de Images.
ImageList1 apparaît. Sélectionnez-le. Cela associe les images de la liste
d’images aux actions de la liste d’actions.
Vous allez ensuite ajouter les actions au gestionnaire d’actions et définir leurs
propriétés. Vous allez ajouter des actions non standard dont vous définirez
toutes les propriétés ainsi que des actions standard dont les propriétés sont
définies automatiquement.
3 Double-cliquez sur le composant ActionManager pour l’ouvrir.
La boîte de dialogue Modification de Form1->ActionManager1, appelée aussi
éditeur du gestionnaire d’actions, apparaît.
4 Assurez-vous que l’onglet Actions est affiché. Cliquez sur le bouton flèche
vers le bas à côté du bouton Nouvelle Action et sélectionnez Nouvelle Action.
Astuce Vous pouvez également cliquer avec le bouton droit de la souris dans
l’éditeur du gestionnaire d’actions et choisir Nouvelle action.
5 Vérifiez que pas de catégorie est sélectionnée dans la liste d’actions et que
Action1 est sélectionnée sous Actions. Dans l’inspecteur d’objets, définissez
les propriétés suivantes :
• Pour Caption, saisissez &Nouveau. Remarquez comment la saisie d’un caractère
& avant l’une des lettres fait de cette lettre un raccourci pour accéder à la
commande.
• Pour Category, saisissez Fichier (cela regroupe les commandes de fichier
en un seul emplacement).
• Pour Hint, saisissez Créer un fichier (c’est le conseil d’aide).
• Vérifiez que ImageIndex est définie par 6 (Cela correspond à la liste d’image
que nous avons importée. Vous pouvez aussi cliquer sur la flèche vers
le bas et sélectionner l’image appropriée).
• Pour Name, entrez FichierNouveau (pour la commande Fichier|Nouveau)
et appuyez sur Entrée pour enregistrer la modification.
Remarque Sans importation de graphiques, ImageList utilise les images par défaut des
actions standard.
Pour ajouter des images à la liste d’images :
1 Double-cliquez sur le composant ImageList de la fiche afin d’afficher l’éditeur
de liste d’images.
2 Cliquez sur le bouton Ajouter.
3 Dans la boîte de dialogue Ajout d’images, allez dans le répertoire buttons
fourni avec le logiciel. L’emplacement par défaut est C:\Program Files\
Common Files\Borland Shared\Images\Buttons.
4 Double-cliquez sur filenew.bmp.
Quand un message vous demande si vous voulez séparer le bitmap en deux
icônes distinctes, répondez Oui à chaque fois. Chaque icône contient une
version active et une version grisée de l’image. Vous voyez alors deux images.
Supprimez l’image grisée (la seconde).
5 Ajoutez les autres images :
• Cliquez sur Ajouter. Double-cliquez sur fileopen.bmp. Supprimez l’image
grisée.
• Cliquez sur Ajouter. Double-cliquez sur filesave.bmp. Supprimez l’image
grisée.
• Cliquez sur Ajouter. Double-cliquez sur doorshut.bmp. Supprimez l’image
grisée.
• Cliquez sur Ajouter. Double-cliquez sur cut.bmp. Supprimez l’image grisée.
Astuce Vous pouvez utiliser la touche Ctrl en cliquant sur les images pour en
sélectionner plusieurs. Ensuite, revenez supprimer les images grisées.
Cliquez sur OK pour fermer l’éditeur de liste d’images.
Vous avez ajouté sept images à la liste d’images ; elles sont numérotées de 0
à 6, ce qui est cohérent avec la propriété ImageIndex de chacune des actions.
Remarque Si elles sont dans le désordre, vous pouvez utiliser le glisser-déplacer pour
placer les images à la bonne position dans l’éditeur de liste d’images.
Vous pouvez maintenant ajouter un menu et une barre d’outils.
Cliquez sur la propriété Images, puis sur la flèche vers le bas à côté de Images.
ImageList1 apparaît. Sélectionnez-le. Cela associe les images que vous allez
ajouter à la liste d’images aux actions de la liste d’actions.
Astuce Vous pouvez aussi cliquer sur la flèche vers le bas à côté du bouton Nouvelle
Action et cliquer sur Nouvelle Action.
1 L’éditeur de liste d’actions doit être encore affiché. Si ce n’est pas le cas,
double-cliquez sur le composant ActionList dans la fiche.
2 Cliquez avec le bouton droit de la souris dans l’éditeur de liste d’actions et
cliquez sur Nouvelle action standard.
Astuce Vous pouvez aussi cliquer sur la flèche vers le bas à côté du bouton Nouvelle
Action et cliquer sur Nouvelle Action standard.
3 Dans la boîte de dialogue Classes d’actions standard, accédez à la catégorie
Edition et utilisez la touche Ctrl pour sélectionner TEditCut, TEditCopy, et
TEditPaste. Cliquez sur OK pour ajouter ces actions à une nouvelle catégorie
Edition dans l’éditeur de liste d’actions.
Cliquez avec le bouton droit de la souris dans
l’éditeur de liste d’actions et choisissez Nouvelle
action standard.
Les actions standard disponibles sont affichées.
Pour en choisir une, double-cliquez dessus.
(ou en cliquant sur l’onglet Unit1.h dans l’éditeur de code. Dans le fichier en-
tête, recherchez la section des déclarations publiques de la classe TForm1 et
après la ligne suivante
public: // Déclarations de l’utilisateur
saisissez :
AnsiString NomFichier;
Votre écran doit avoir l’aspect suivant :
Puis, double-cliquez
sur l’action pour créer un
gestionnaire d’événement
vide dans lequel vous
pouvez spécifier ce qui se
produit quand l’utilisateur
exécute la commande
6 Définissez Title par Ouvrir fichier. Ces mots apparaissent en haut de la boîte
de dialogue d’ouverture.
7 Cliquez sur l’onglet Evénements. Double-cliquez sur la zone à droite de
l’événement OnAccept afin de faire apparaître FileOpen1Accept.
L’éditeur de code s’ouvre, le curseur étant positionné dans le gestionnaire
d’événement.
8 Entrez les lignes suivantes, là où le curseur est positionné (entre { et }) :
RichEdit1->Lines->LoadFromFile (FileOpen1->Dialog->FileName);
NomFichier = FileOpen1->Dialog->FileName;
StatusBar1->Panels->Items[0]->Text = NomFichier;
Astuce Vous pouvez utiliser les outils d’audit de code décrits page 2-6 pour écrire
plus rapidement votre code. Par exemple, après avoir tapé la flèche (->)après
RichEdit1, la boîte de dialogue d’achèvement du code apparaît. Tapez un “l”
pour que Lines : TStrings; apparaisse en haut de la boîte de dialogue.
Appuyez sur Entrée ou double-cliquez dessus pour l’ajouter à votre code.
Une fois terminé, le gestionnaire d’événement FileOpen doit avoir l’aspect
suivant :
puisse lui attribuer un nom. Sinon, le fichier est enregistré en utilisant le nom
en cours. La boîte de dialogue Enregistrer sous est définie dans le gestionnaire
d’événement de la commande Enregistrer sous. FileSaveAs1BeforeExecute est le
nom automatiquement généré pour la commande Enregistrer sous.
Une fois terminé, le gestionnaire d’événement doit avoir l’aspect suivant :
L’application en cours
d’exécution ressemble
beaucoup à la fiche principale
en conception. Remarquez
que les objets non visuels
n’apparaissent pas.
Vous pouvez fermer
l’application de trois
manières :
Cliquez sur le X.
Choisissez Fichier|Quitter.
Cliquer sur le bouton Quitter
l’application dans la barre
d’outils.
Le référentiel d’objets
contient une boîte
A propos standard que
vous pouvez modifier
à votre guise pour décrire
votre application.
et cliquez sur OK. Remarquez que #include "Apropos.h" a été ajouté au début
du fichier .cpp.
Cliquez sur l’onglet pour afficher le fichier associé à l’unité. Si vous ouvrez
d’autres fichiers alors que vous travaillez dans un projet, l’éditeur de code
affiche des onglets supplémentaires.
Quand vous créez une nouvelle fiche dans l’application, vous devez l’ajouter à la fiche
principale. Choisissez Fichier|Inclure l’en-tête d’unité et sélectionnez l’en-tête à ajouter.
Achèvement de l’application
L’application est presque terminée. Il reste cependant à spécifier certains
éléments dans la fiche principale. Pour achever l’application :
1 Appuyez sur F12 pour vous positionner sur la fiche principale.
2 Sélectionnez la fiche. La focalisation doit se trouver sur la fiche, pas sur l’un
de ses composants. Si ce n’est pas le cas, sélectionnez Form1 TForm1 dans la
liste déroulante en haut de l’inspecteur d’objets.
Astuce Pour afficher les libellés des composants que vous placez sur une fiche,
choisissez Outils|Options d’environnement et cliquez sur Afficher les libellés
des composants.
2 Dans l’inspecteur d’objets, définissez sa propriété ConnectionName par IBLocal
(ce terme apparaît dans la liste déroulante).
3 Initialisez la propriété LoginPrompt à false. (Définir cette propriété par false
évite une demande de connexion à chacun de vos accès à la base.)
4 Double-cliquez sur le composant TSQLConnection pour afficher l’éditeur de
connexion.
Le contrôle DBGrid affiche les données en mode conception, pendant que vous
travaillez dans l’EDI. Cela vous permet de vérifier que vous êtes bien connecté
à la base de données. Vous ne pouvez pas, cependant, modifier les données
pendant les phases de conception ; pour modifier les données de la table, vous
devez exécuter l’application.
5 A partir de la page ContrôleBD, placez un contrôle TDBNavigator sur la fiche.
Un navigateur dans une base de données est l’outil assurant le déplacement
dans les données d’un ensemble de données (en utilisant les flèches suivante
et précédente, par exemple), comme l’exécution des diverses opérations sur les
données.
6 Définissez la propriété DataSource de la barre de navigation par DataSource1 de
façon à ce que le navigateur recherche les données dans l’ensemble de
données client.
7 Définissez la propriété ShowHint de la barre de navigation par true. (Définir
ShowHint par true permet de faire apparaître les conseils lorsque, au cours de
l’exécution, le curseur est positionné sur n’importe lequel des éléments de la
barre de navigation.)
8 Choisissez Fichier|Tout enregistrer pour enregistrer le projet.
9 Appuyez sur F9 pour compiler et exécuter le projet. Vous pouvez également
exécuter le projet en cliquant sur le bouton Exécuter dans la barre d’outils du
débogueur, ou en choisissant Exécuter dans le menu Exécuter.
Lorsque vous exécutez votre projet, le programme s’ouvre dans une fenêtre
semblable à celle que vous avez dessinée sur la fiche. Vous pouvez tester la
barre de navigation sur la base de données employee. Par exemple, vous
pouvez aller d’enregistrement en enregistrement en utilisant les commandes
fléchées, ajouter des enregistrements en utilisant la commande +, supprimer
des enregistrements en utilisant la commande -.
Astuce Si une erreur se produit lorsque vous testez une version initiale de votre
application, choisissez Exécuter|Réinitialiser le programme pour revenir à la
vue conception.
Dans cette section, vous allez ajouter une liste d’actions. Bien qu’il soit tout à fait
possible de créer menus, barres d’outils et boutons sans liste d’actions, celles-ci
simplifient le développement et la maintenance en centralisant les réponses aux
commandes de l’utilisateur. (Notez que dans le cadre du développement pour
Windows uniquement, vous pouvez aussi utiliser les bandes d’actions pour
faciliter la création des barres d’outils et des menus.)
1 Si l’application s’exécute toujours, cliquez sur le X dans le coin supérieur
droit, pour la fermer et revenir à la vue conception de la fiche.
2 A partir de la page Contrôles communs de la palette de composants, déposez
un composant ImageList sur la fiche. Alignez-le à côté des composants non
visuels. ImageList contiendra des icônes représentant des actions standard
comme couper et coller.
3 A partir de la page Standard de la palette de composants, déposez un
composant ActionList sur la fiche. Définissez la propriété Images de la liste
d’actions par ImageList1.
4 Double-cliquez sur la liste d’actions pour afficher l’éditeur de liste d’actions.
Cliquez avec le bouton droit
de la souris dans l’éditeur et
choisissez Nouvelle action
standard pour afficher la
boîte liste Actions standard.
Sélectionnez les actions
que vous voulez et cliquez
sur OK. Appuyez sur Ctrl
pour sélectionner plusieurs
actions.
10 Pour aligner texte et image, sélectionnez les deux objets sur la fiche, cliquez
avec le bouton droit et choisissez Aligner. Dans la boîte de dialogue
Alignement, cliquez sur Bas, sous Vertical.
11 Choisissez Fichier|Tout enregistrer pour enregistrer le projet.
12 Appuyez sur F9 pour compiler et exécuter votre application.
Fermez l’application lorsque vous êtes prêt à poursuivre.
}
Exactement à la position du curseur (entre les accolades), tapez :
if(ClientDataSet1->State == dsEdit || ClientDataSet1->State == dsInsert)
ClientDataSet1->Post();
ClientDataSet1->ApplyUpdates(-1);
Ce gestionnaire d’événement teste d’abord l’état dans lequel se trouve la base de
données. Lorsque vous quittez un enregistrement modifié, celui-ci est
automatiquement posté. Mais, si vous ne quittez pas l’enregistrement modifié, la
base reste en mode édition ou en mode insertion. L’instruction if poste toute
donnée éventuellement modifiée mais non transmise à l’ensemble de données
client. L’instruction suivante applique à la base les mises à jour contenues dans
l’ensemble de données client.
Remarque Les modifications apportées aux données ne sont pas automatiquement postées
dans la base lorsque vous utilisez dbExpress. Il vous faut appeler la méthode
ApplyUpdates pour écrire tous les enregistrements modifiés, insérés ou supprimés,
depuis l’ensemble de données client vers la base de données.
}
Exactement à la position du curseur (entre les accolades), tapez :
Close();
Ce gestionnaire d’événement fermera l’application lorsque la commande
Fichier|Quitter du menu sera utilisée.
4 Fermez l’éditeur de liste d’actions.
5 Choisissez Fichier|Tout enregistrer pour enregistrer le projet.
Action = caFree;
if(ClientDataSet1->State == dsEdit || ClientDataSet1->State == dsInsert)
ClientDataSet1->Post();
if(ClientDataSet1->ChangeCount > 0) {
Action = caFree;
if(ClientDataSet1->State == dsEdit || ClientDataSet1->State == dsInsert)
ClientDataSet1->Post();
if(ClientDataSet1->ChangeCount > 0) {
Personnalisation du bureau
Chapitre 6
6
Ce chapitre explique quelques-unes des méthodes permettant de personnaliser
l’EDI de C++Builder.
Vous pouvez déplacer barres d’outils et menus au sein de la fenêtre principale. Cliquez sur
la poignée (la double barre située à gauche) et faites-la glisser jusqu’à l’endroit voulu.
Fenêtre principale
organisée
différemment.
Vous pouvez séparer des éléments de la fenêtre principale et les placer ailleurs
sur l’écran ou les supprimer complètement du bureau. C’est utile lorsque vous
avez une double configuration de moniteur.
Fenêtre principale
organisée
différemment.
Vous pouvez
combiner, ou “ancrer”
des fenêtres, soit
avec les poignées,
comme à gauche, soit
avec les onglets.
Pour ancrer une fenêtre, cliquez sur sa barre d’outils et faites-la glisser par
dessus une autre fenêtre. Lorsque le cadre montrant l’emplacement de la
première fenêtre devient un rectangle étroit et s’accroche à un coin de la
seconde, relâchez la souris. Les deux fenêtres sont ancrées.
Vous pouvez également ancrer les outils entre eux et former une fenêtre
à onglets.
Pour désancrer une fenêtre, double-cliquez sur sa poignée ou sur son onglet.
Pour désactiver l’ancrage automatique, appuyez sur la touche Ctrl tout en
déplaçant une fenêtre ou choisissez Outils|Options d’environnement,
sélectionnez la page Préférences et enlevez la coche de l’option Ancrage
automatique par glissement.
Lorsque vous avez spécifié un modèle de projet comme projet par défaut,
C++Builder l’ouvre automatiquement chaque fois que vous choisissez Fichier|
Nouveau|Application.
De la même façon que vous spécifiez un projet par défaut, vous pouvez spécifier
une fiche principale par défaut et une nouvelle fiche par défaut en les choisissant dans
la liste des modèles de fiches existant dans le référentiel d’objets. La nouvelle
fiche par défaut est la fiche créée lorsque vous choisissez Fichier|Nouveau|Fiche
pour ajouter une fiche supplémentaire à un projet ouvert. La fiche principale par
défaut est la fiche créée lorsque vous ouvrez une nouvelle application. Si vous
n’avez pas spécifié de fiche par défaut, C++Builder utilise une fiche vierge.
Vous pouvez toujours remplacer le projet ou les fiches par défaut en choisissant
Fichier|Nouveau|Autre et en sélectionnant un modèle différent dans la boîte de
dialogue Nouveaux éléments.
Index I-1
éditions de C++Builder 3-9 fichiers fiche modèles
enregistrement visualisation du code 2-9 ajout au référentiel
dispositions du bureau 6-4 fichiers projet 4-2 d’objets 6-9
projets 4-2 noms par défaut 4-1 spécification comme
en-têtes d’unités, fichiers 4-1 défaut 6-8
environnement de G modèles de code 2-6
développement intégré modèles de composants
gestionnaire de projet 2-9–2-10
(EDI) 2-1 création 6-5
gestionnaires d’événements 3-5,
personnalisation 6-1–6-11 Modification de
5-14–5-17
équivalents clavier 2-3 StatusBar1.Panels, boîte de
création 4-25–4-32
erreurs, messages 4-32 dialogue 4-5
graphiques, affichage 5-12
évaluation d’expression dans module base de données 3-12
groupes de projets 2-10
conseil 2-7 modules de données 2-5, 3-2
GUI, création 3-2, 4-2
événements 5-14–5-17 multiplate-forme
exécutables 3-8 développement
Exécuter, bouton 5-8
I d’applications pour 3-10
exécution d’une images
application 4-14 affichage 5-12 N
exécution des application 4-24, images, ajout à une
newsgroups 1-6
5-8 application 4-7, 4-15
nouveautés 1-3
expert DLL ressource 3-9 Informix 3-11
Nouveaux éléments, boîte de
experts 3-14 inspecteur d’objets 3-6
dialogue
experts (référentiel d’objets) 2-5 présentation 3-4
enregistrement des
explorateur de classe 2-9 référence de composants en
modèles 6-8–6-9, 6-10
utilisation 2-9 ligne 3-5
utilisation 2-5, 4-34
explorateur SQL 3-12 utilisation 3-4, 4-2
installation des composants O
F personnalisés 6-6
InterBase 3-11, 3-12 objets, définition 3-6
fenêtres à onglets, configuration
interfaces utilisateur, ODBC 3-11
de l’EDI 6-3
création 3-2, 4-2, 4-3 options
fenêtres d’outils
internationalisation des projets 6-8
ancrage 6-2
applications 3-9 Options d’environnement, boîte
fenêtres, combinaison 6-2
de dialogue 6-10
fermeture d’une fiche 4-3
fiches
J Options de l’éditeur, boîte de
dialogue 6-11
ajout de composants 3-2, 4-3 jeux de caractères étendus 3-9
Options du projet, boîte de
dans le référentiel
dialogue 6-8
d’objets 2-5 L Oracle 3-11
fermeture 4-3
listes A faire 2-10 outils de traduction 3-9
fichiers 2-9
principales 4-2, 6-9 localisation des applications 3-9
spécification de la fiche par
P
défaut 6-9 M page diagramme 2-8
fiches, fichiers MainMenu, composant 5-10 palette de composants
définition 4-1 makefiles 4-2 définition 2-3
fichiers menus personnalisation 6-5–6-7
enregistrement 4-2 ajout à une application 4-20 utilisation 3-2
fiche 4-1 configuration 6-1 Panel, composant 5-12
projet 4-1 contextuels 2-3 paquets 3-8, 3-9
unités 4-1 dans C++Builder 2-3 définition 6-6
fichiers d’aide, ajout à une organisation 2-2–2-3, 6-1 Paradox 3-11
application 4-32 messages d’erreur 4-32 paramètres du code 2-6
fichiers en-tête 4-1 .pas, fichiers 4-1
Index I-3
I-4 Prise en main