Guide du langage
Pascal Objet
Borland®
Pascal Objet
Les applications mentionnées dans ce manuel sont brevetées ou en attente de brevet. Ce document ne donne
aucun droit sur ces brevets.
COPYRIGHT © 1983, 2001 Borland Software Corporation. Tous droits réservés. Tous les produits Borland sont des
marques ou des marques déposées de Borland Software Corporation. Tous les autres noms de produits sont des
marques déposées de leurs fabricants respectifs.
Imprimé en Irlande
ALP0000WW21000 1E0R0201
0102030405-9 8 7 6 5 4 3 2 1
D3
i
Chapitre 1
Introduction 1-1
Que contient ce manuel ? . . . . . . . . . . . . . 1-1
Utilisation de Pascal Objet . . . . . . . . . . 1-1
Conventions relatives à la documentation . 1-2
Autres sources d’information . . . . . . . . . . 1-3
Enregistrement logiciel et support technique . 1-3
Partie I
Descriptions des principes de base
du langage
Chapitre 2
Présentation 2-1
Organisation d’un programme. . . . . . . . . . 2-1
Fichiers source Pascal . . . . . . . . . . . . . 2-2
Autres fichiers utilisés pour générer
des applications. . . . . . . . . . . . . . . . 2-2
Fichiers génés par le compilateur . . . . . 2-3
Programmes exemple . . . . . . . . . . . . . . . 2-3
Une application console simple . . . . . . . 2-4
Un exemple plus sophistiqué. . . . . . . . . 2-5
Une application native . . . . . . . . . . . . 2-6
Chapitre 3
Programmes et unités 3-1
Structure et syntaxe d’un programme . . . . . 3-1
En-tête de programme. . . . . . . . . . . . . 3-2
Clause uses d’un programme . . . . . . . . 3-3
Le bloc . . . . . . . . . . . . . . . . . . . . . . 3-3
Structure et syntaxe d’unité . . . . . . . . . . . 3-3
En-tête d’uni . . . . . . . . . . . . . . . . . 3-4
Section interface . . . . . . . . . . . . . . . . 3-4
Section implémentation . . . . . . . . . . . . 3-4
Section initialisation . . . . . . . . . . . . . . 3-5
Section finalisation . . . . . . . . . . . . . . . 3-5
Références d’unité et la clause uses . . . . . . . 3-5
Syntaxe de la clause uses . . . . . . . . . . . 3-6
Références d’unité multiples et indirectes . 3-7
Références d’unité circulaires. . . . . . . . . 3-8
Chapitre 4
Eléments syntaxiques 4-1
Eléments syntaxiques fondamentaux . . . . . . 4-1
Symboles spéciaux . . . . . . . . . . . . . . . 4-2
Identificateurs . . . . . . . . . . . . . . . . . . 4-2
Identificateurs qualifiés . . . . . . . . . . . 4-3
Mots réservés . . . . . . . . . . . . . . . . . . 4-3
Directives. . . . . . . . . . . . . . . . . . . . . 4-4
Nombres . . . . . . . . . . . . . . . . . . . . . 4-4
Labels . . . . . . . . . . . . . . . . . . . . . . . 4-4
Chaînes de caractères . . . . . . . . . . . . . . 4-5
Commentaires et directives de compilation. . . 4-6
Expressions . . . . . . . . . . . . . . . . . . . . . 4-6
Opérateurs . . . . . . . . . . . . . . . . . . . . 4-6
Opérateurs arithmétiques. . . . . . . . . . 4-7
Opérateurs booléens . . . . . . . . . . . . 4-8
Opérateurs logiques bit-à-bit. . . . . . . . 4-9
Opérateurs de chaînes . . . . . . . . . . 4-10
Opérateurs de pointeurs . . . . . . . . . 4-10
Opérateurs d’ensembles . . . . . . . . . 4-11
Opérateurs relationnels . . . . . . . . . . 4-12
Opérateurs de classes . . . . . . . . . . . 4-13
L’opérateur @. . . . . . . . . . . . . . . . 4-13
gles de priorité des opérateurs . . . . 4-14
Appels de fonctions. . . . . . . . . . . . . . 4-15
Constructeurs d’ensembles . . . . . . . . . 4-15
Indices . . . . . . . . . . . . . . . . . . . . . 4-16
Transtypage . . . . . . . . . . . . . . . . . . 4-16
Transtypage de valeur . . . . . . . . . . 4-16
Transtypage de variable . . . . . . . . . 4-17
clarations et instructions . . . . . . . . . . . 4-18
clarations . . . . . . . . . . . . . . . . . . 4-18
Instructions. . . . . . . . . . . . . . . . . . . 4-19
Instructions simples. . . . . . . . . . . . . . 4-19
Instructions d’affectation . . . . . . . . . 4-20
Appels de procédures et de fonctions . 4-20
Instructions goto . . . . . . . . . . . . . . 4-21
Instructions structurées. . . . . . . . . . . . 4-22
Instructions composées . . . . . . . . . . 4-22
Instructions With . . . . . . . . . . . . . 4-23
Instructions If . . . . . . . . . . . . . . . 4-24
Instructions Case . . . . . . . . . . . . . 4-26
Table des matières
ii
Boucles de contrôle. . . . . . . . . . . . . 4-27
Instructions repeat . . . . . . . . . . . . .4-28
Instructions while . . . . . . . . . . . . . 4-28
Instructions for . . . . . . . . . . . . . . .4-29
Blocs et portée . . . . . . . . . . . . . . . . . . . 4-30
Blocs . . . . . . . . . . . . . . . . . . . . . . . 4-30
Portée . . . . . . . . . . . . . . . . . . . . . .4-31
Conflits de nom. . . . . . . . . . . . . . . 4-32
Chapitre 5
Types de données, variables
et constantes 5-1
A propos des types . . . . . . . . . . . . . . . . 5-1
Types simples . . . . . . . . . . . . . . . . . . . 5-3
Types scalaires . . . . . . . . . . . . . . . . . 5-3
Types entiers . . . . . . . . . . . . . . . . 5-4
Types caractère . . . . . . . . . . . . . . . 5-5
Types booléens . . . . . . . . . . . . . . . 5-6
Types énumérés. . . . . . . . . . . . . . . 5-6
Types intervalle . . . . . . . . . . . . . . . 5-8
Types réels . . . . . . . . . . . . . . . . . . . 5-10
Types chaîne . . . . . . . . . . . . . . . . . . . . 5-11
Chaînes courtes. . . . . . . . . . . . . . . . . 5-12
Chaînes longues . . . . . . . . . . . . . . . . 5-13
Chaînes étendues. . . . . . . . . . . . . . . . 5-13
A propos des jeux de caractères
étendus . . . . . . . . . . . . . . . . . . .5-14
Manipulation des chaînes à zéro terminal .5-14
Utilisation des pointeurs, tableaux
et des constantes chaînes . . . . . . . . 5-15
Mélange de chaînes Pascal
et de chaînes à zéro terminal . . . . . .5-16
Types structurés . . . . . . . . . . . . . . . . . . 5-18
Ensembles . . . . . . . . . . . . . . . . . . . .5-18
Tableaux . . . . . . . . . . . . . . . . . . . . . 5-19
Tableaux statiques . . . . . . . . . . . . . 5-19
Tableaux dynamiques . . . . . . . . . . .5-20
Types tableau et affectations . . . . . . . 5-23
Enregistrements . . . . . . . . . . . . . . . .5-23
Partie variable d’enregistrements. . . . .5-24
Types fichier . . . . . . . . . . . . . . . . . . 5-26
Pointeurs et types pointeur. . . . . . . . . . . .5-27
Présentation des pointeurs . . . . . . . . . . 5-28
Types pointeur . . . . . . . . . . . . . . . . . 5-29
Pointeurs de caractère . . . . . . . . . . .5-30
Autres types standard de pointeurs . . .5-30
Types procédure . . . . . . . . . . . . . . . . . . 5-30
Types procédure dans les instructions
et les expressions . . . . . . . . . . . . . . . 5-32
Types variants . . . . . . . . . . . . . . . . . . . 5-33
Conversions de types variants . . . . . . . 5-34
Utilisation de variants
dans les expressions. . . . . . . . . . . . . 5-36
Tableaux variants . . . . . . . . . . . . . . . 5-36
OleVariant . . . . . . . . . . . . . . . . . . . 5-37
Compatibilité et identité de types . . . . . . . 5-37
Identité de types . . . . . . . . . . . . . . . 5-38
Compatibilité de types . . . . . . . . . . . . 5-38
Compatibilité pour l’affectation . . . . . . . 5-39
claration de types . . . . . . . . . . . . . . . 5-40
Variables . . . . . . . . . . . . . . . . . . . . . . 5-41
claration de variables . . . . . . . . . . . 5-41
Adresses absolues . . . . . . . . . . . . . 5-42
Variables dynamiques. . . . . . . . . . . 5-42
Variables locales de thread . . . . . . . . 5-43
Constantes déclarées . . . . . . . . . . . . . . . 5-43
Vraies constantes . . . . . . . . . . . . . . . 5-44
Expressions constantes . . . . . . . . . . 5-45
Chaînes de ressource . . . . . . . . . . . 5-45
Constantes typées . . . . . . . . . . . . . . . 5-46
Constantes tableau . . . . . . . . . . . . 5-46
Constantes enregistrement . . . . . . . . 5-47
Constantes procédure . . . . . . . . . . . 5-48
Constantes pointeur . . . . . . . . . . . . 5-48
Chapitre 6
Procédures et fonctions 6-1
Déclaration de procédures et de fonctions . . . 6-1
claration de procédures . . . . . . . . . . . 6-2
claration de fonctions . . . . . . . . . . . . 6-3
Conventions d’appel . . . . . . . . . . . . . . 6-5
Déclaration forward et interface . . . . . . . 6-6
clarations externes . . . . . . . . . . . . . . 6-7
Liaison de fichiers objet. . . . . . . . . . . 6-7
Importation des fonctions
de bibliothèques . . . . . . . . . . . . . . 6-7
Redéfinition de procédures
et de fonctions . . . . . . . . . . . . . . . . . 6-8
clarations locales . . . . . . . . . . . . . . 6-10
Routines imbriquées. . . . . . . . . . . . 6-10
Paramètres . . . . . . . . . . . . . . . . . . . . . 6-10
mantique des paratres . . . . . . . . . 6-11
Paramètres valeur et paramètres
variables. . . . . . . . . . . . . . . . . . 6-11
Paramètres constantes. . . . . . . . . . . 6-13
Paramètres de sortie. . . . . . . . . . . . 6-13
Paramètres sans type . . . . . . . . . . . 6-14
Paramètres chaîne . . . . . . . . . . . . . . . 6-14
iii
Paramètres tableau . . . . . . . . . . . . . . . 6-15
Paramètres tableau ouvert. . . . . . . . . 6-15
Paramètres tableau ouvert variant . . . .6-17
Paramètres par faut . . . . . . . . . . . . . 6-18
Paramètres par défaut et routines
redéfinies. . . . . . . . . . . . . . . . . . 6-19
Paramètres par défaut dans
les déclarations forward et interface . .6-19
Appel de procédures et de fonctions . . . . . .6-19
Constructeurs de tableaux ouverts . . . . . 6-20
Chapitre 7
Classes et objets 7-1
Types classe. . . . . . . . . . . . . . . . . . . . . 7-2
Héritage et portée . . . . . . . . . . . . . . . 7-3
TObject et TClass . . . . . . . . . . . . . . 7-3
Compatibilité des types classe . . . . . . 7-4
Types objet. . . . . . . . . . . . . . . . . . 7-4
Visibilité des membres de classes . . . . . . 7-4
Membres privés, protégés et publics. . . 7-5
Membres publiés . . . . . . . . . . . . . . 7-5
Membres automatisés . . . . . . . . . . . 7-6
Déclarations avancées et classes
mutuellement dépendantes . . . . . . . . . 7-7
Champs . . . . . . . . . . . . . . . . . . . . . . . 7-8
Méthodes . . . . . . . . . . . . . . . . . . . . . . 7-9
Déclarations et implémentations
des méthodes . . . . . . . . . . . . . . . . . 7-9
Inherited . . . . . . . . . . . . . . . . . . .7-10
Self . . . . . . . . . . . . . . . . . . . . . . 7-10
Liaison de thode . . . . . . . . . . . . . . 7-11
Méthodes statiques . . . . . . . . . . . . . 7-11
Méthodes virtuelles et dynamiques . . . 7-11
Méthodes abstraites . . . . . . . . . . . .7-13
Redéfinition de méthodes . . . . . . . . . . . 7-13
Constructeurs . . . . . . . . . . . . . . . . . .7-14
Destructeurs . . . . . . . . . . . . . . . . . . 7-16
Méthodes de messages . . . . . . . . . . . .7-16
Implémentation des méthodes
de messages . . . . . . . . . . . . . . . .7-17
Répartition des messages . . . . . . . . . 7-18
Propriétés . . . . . . . . . . . . . . . . . . . . . . 7-18
Accès aux propriétés. . . . . . . . . . . . . . 7-19
Propriétés tableau . . . . . . . . . . . . . . . 7-21
Spécificateurs d’indice . . . . . . . . . . . . . 7-22
Spécificateurs de stockage . . . . . . . . . . 7-23
Surcharge et redéfinition de propriétés . . .7-24
férences de classe . . . . . . . . . . . . . . . 7-25
Types de référence de classe. . . . . . . . . 7-25
Constructeurs et références de classe . . 7-26
Opérateurs de classe . . . . . . . . . . . . . 7-27
Opérateur is . . . . . . . . . . . . . . . . 7-27
Opérateur as . . . . . . . . . . . . . . . . 7-27
Méthodes de classe . . . . . . . . . . . . . . 7-28
Exceptions . . . . . . . . . . . . . . . . . . . . . 7-28
Quand utiliser des exceptions . . . . . . . . 7-29
claration des types exception. . . . . . . 7-29
Déclenchement et gestion des exceptions . 7-30
Instructions Try...except . . . . . . . . . . 7-31
Redéclenchement d’exceptions . . . . . 7-33
Exceptions imbriquées . . . . . . . . . . 7-34
Instructions try...finally . . . . . . . . . . 7-34
Classes et routines standard
des exceptions . . . . . . . . . . . . . . . . 7-35
Chapitre 8
Routines standard
et Entrées/Sorties 8-1
Entrées et sorties de fichier . . . . . . . . . . . . 8-1
Fichier texte . . . . . . . . . . . . . . . . . . . 8-3
Fichiers sans type . . . . . . . . . . . . . . . . 8-4
Pilotes deriphérique de fichiers texte . . . . 8-5
Fonctions de périphérique . . . . . . . . . . . 8-6
Fonction Open . . . . . . . . . . . . . . . . 8-6
Fonction InOut . . . . . . . . . . . . . . . . 8-6
Fonction Flush . . . . . . . . . . . . . . . . 8-6
Fonction Close . . . . . . . . . . . . . . . . 8-7
Gestion des chaînes à zéro terminal . . . . . . . 8-7
Chaînes de caractères étendus. . . . . . . . . 8-8
Autres routines standard . . . . . . . . . . . . . 8-8
Partie II
Sujets spéciaux
Chapitre 9
Bibliothèques et paquets 9-1
Appel de bibliothèques à chargement
dynamique . . . . . . . . . . . . . . . . . . . . . 9-1
Chargement statique . . . . . . . . . . . . 9-2
Chargement dynamique . . . . . . . . . . 9-2
Ecriture de bibliothèques à chargement
dynamique . . . . . . . . . . . . . . . . . . . . . 9-4
Clause exports . . . . . . . . . . . . . . . . . . 9-5
1 / 266 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !