Guide Du Développeur en Delphi

1186
Guide du développeur Borland ® Delphi 7 pour Windows

Transcript of Guide Du Développeur en Delphi

Guide du dveloppeur

Borland

Delphi 7pour Windows

Reportez-vous au fichier DEPLOY situ dans le rpertoire racine de votre produit Delphi 7 pour obtenir la liste complte des fichiers que vous pouvez distribuer conformment aux termes du contrat de licence de Delphi. Les applications mentionnes dans ce manuel sont brevetes ou en attente de brevet. Ce document ne donne aucun droit sur ces brevets. Reportez-vous au CD du produit ou la bote de dialogue A propos. COPYRIGHT 19832002 Borland Software Corporation. Tous droits rservs. Tous les produits Borland sont des marques commerciales ou des marques dposes de Borland Software Corporation aux Etats-Unis ou dans les autres pays. Toutes les autres marques sont la proprit de leurs fabricants respectifs. HDE1370WW21001 7E5R0802 0203040506-9 8 7 6 5 4 3 2 1 PDF

Table des matiresChapitre 1

Introduction

1-1

Contenu de ce manuel . . . . . . . . . . . . . . 1-1 Conventions typographiques. . . . . . . . . . . 1-3 Support technique . . . . . . . . . . . . . . . . . 1-3

Partie I

Programmation DelphiChapitre 2

Dveloppement dapplications avec DelphiLenvironnement de dveloppement Conception dapplications . . . . . . Cration des projets . . . . . . . . . . Modification du code . . . . . . . . . Compilation des applications . . . . Dbogage des applications . . . . . . Dploiement des applications . . . . intgr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2-12-1 2-2 2-3 2-4 2-4 2-5 2-6

Chapitre 3

Utilisation de la bibliothque de composantsPrsentation de la bibliothque de composants . . . . . . . . . . . . . . . . Proprits, mthodes et vnements . . Proprits . . . . . . . . . . . . . . . . Mthodes . . . . . . . . . . . . . . . . Evnements . . . . . . . . . . . . . . . Evnements utilisateur. . . . . . . . . Evnements systme . . . . . . . . . . Evnements internes . . . . . . . . . . Objets, composants et contrles . . . . . . . Branche TObject . . . . . . . . . . . . . . Branche TPersistent . . . . . . . . . . . . Branche TComponent . . . . . . . . . . . Branche TControl. . . . . . . . . . . . . . Branche TWinControl/TWidgetControl . . . . . . . . . . . . . . .

3-1. 3-1 . 3-3 . 3-3 . 3-4 . 3-4 . 3-4 . 3-5 . 3-5 . 3-5 . 3-6 . 3-7 . 3-8 . 3-9 . 3-10

Hritage des donnes et du code dun objet . . 4-5 Porte et qualificateurs. . . . . . . . . . . . . . . 4-5 Dclarations prives, protges, publiques et publies . . . . . . . . . . . . . . . . . . . 4-6 Utilisation de variables objet . . . . . . . . . . . 4-7 Cration, instanciation et destruction dobjets . 4-8 Composants et appartenance . . . . . . . . . 4-9 Dfinition de nouvelles classes . . . . . . . . . 4-10 Utilisation des interfaces. . . . . . . . . . . . . 4-12 Utilisation des interfaces au travers de la hirarchie . . . . . . . . . . . . . . . 4-13 Utilisation dinterfaces avec des procdures. . . . . . . . . . . . . 4-14 Implmentation de IInterface . . . . . . . . 4-15 TInterfacedObject . . . . . . . . . . . . . . . 4-15 Utilisation de loprateur as avec des interfaces . . . . . . . . . . . . . 4-16 Rutilisation de code et dlgation . . . . . 4-17 Utilisation de implements pour la dlgation . . . . . . . . . . . . 4-17 Agrgation . . . . . . . . . . . . . . . . . 4-18 Gestion mmoire des objets interface . . . 4-19 Utilisation du comptage de rfrences . 4-19 Situations o il ne faut pas utiliser le comptage de rfrences . . . . . . . 4-20 Utilisation dinterfaces dans les applications distribues . . . . . . . . . . . . . . . . . . 4-21

Chapitre 5

Utilisation de BaseCLXUtilisation des flux . . . . . . . . . . . . . . . . Utilisation des flux pour lire ou crire des donnes . . . . . . . . . . . . . . . . . Mthodes de flux pour la lecture et lcriture . . . . . . . . . . . . . . . . Lecture et criture de composants. . . . Lecture et criture de chanes . . . . . . Copie de donnes dun flux vers un autre Spcification de la position et de la taille du flux . . . . . . . . . . . . . . . . . . . . Dplacement sur une position particulire . . . . . . . . . . . . . . . . Utilisation des proprits de position et de taille. . . . . . . . . . . . . . . . . Utilisation des fichiers . . . . . . . . . . . . . . Approches des E/S fichier . . . . . . . . . . i

5-1. 5-2 . 5-2 . 5-2 . 5-3 . 5-3 . 5-3 . 5-4 . 5-4 . 5-5 . 5-5 . 5-5

Chapitre 4

Utilisation du modle objet

4-1

Quest-ce quun objet ? . . . . . . . . . . . . . . 4-1 Examen dun objet Delphi . . . . . . . . . . 4-2 Modification du nom dun composant . . . 4-4

Utilisation de flux de fichier . . . . . . . . . 5-6 Cration et ouverture de fichiers en utilisant des flux de fichier. . . . . . . . . . . . . 5-6 Utilisation du handle de fichier . . . . . 5-8 Manipulation de fichiers . . . . . . . . . . . 5-8 Suppression dun fichier. . . . . . . . . . 5-8 Recherche dun fichier . . . . . . . . . . . 5-8 Modification dun nom de fichier . . . . 5-10 Routines date-heure de fichier . . . . . . 5-10 Copie dun fichier . . . . . . . . . . . . . 5-11 Utilisation des fichiers ini et du registre . . . . 5-11 Utilisation de TIniFile et TMemIniFile. . 5-12 Utilisation de TRegistryIniFile . . . . . . 5-13 Utilisation de TRegistry . . . . . . . . . . 5-14 Utilisation des listes . . . . . . . . . . . . . . . . 5-14 Oprations de listes courantes . . . . . . . . 5-15 Ajout dlments de liste . . . . . . . . . 5-15 Suppression dlments de liste . . . . . 5-16 Accs aux lments de la liste . . . . . . 5-16 Rorganisation dlments de liste . . . . 5-16 Listes persistantes . . . . . . . . . . . . . . . 5-17 Utilisation des listes de chanes . . . . . . . . . 5-17 Lecture et enregistrement des listes de chanes . . . . . . . . . . . . . . . . . . . 5-18 Cration dune nouvelle liste de chanes . . 5-18 Listes de chanes court terme . . . . . . 5-18 Listes de chanes long terme . . . . . . 5-19 Manipulation des chanes dune liste . . . . 5-20 Comptage des chanes dune liste . . . . 5-21 Accs une chane spcifique . . . . . . 5-21 Recherche dlments dans une liste de chanes . . . . . . . . . . . . . . . . . 5-21 Parcours des chanes dune liste . . . . . 5-21 Ajout dune chane une liste . . . . . . 5-21 Dplacement dune chane dans une liste . . . . . . . . . . . . . . . 5-22 Suppression dune chane dune liste . . 5-22 Association dobjets une liste de chanes . . . . . . . . . . . . . . . . . 5-23 Utilisation des chanes . . . . . . . . . . . . . . 5-23 Routines manipulant les caractres tendus . . . . . . . . . . . . . . . . . . . . 5-23 Routines usuelles de manipulation des chanes longues . . . . . . . . . . . . . 5-24 Routines couramment utilises pour les chanes zro terminal . . . . . . 5-27 Dclaration et initialisation de chanes . . . 5-28 Mlange et conversion de types chane . . . 5-29 Conversions de chanes en PChar . . . . . . 5-30 Dpendances de chane . . . . . . . . . . 5-30 ii

Renvoi dune variable locale PChar. . . 5-31 Transfert dune variable locale comme PChar . . . . . . . . . . . . . . . . . . . 5-31 Directives de compilation portant sur les chanes . . . . . . . . . . . . . . . . 5-32 Cration despaces de dessin . . . . . . . . . . 5-33 Impression . . . . . . . . . . . . . . . . . . . . . 5-33 Conversion de mesures . . . . . . . . . . . . . 5-34 Excution des conversions . . . . . . . . . . 5-35 Excution des conversions simples . . . 5-35 Excution des conversions complexes . 5-35 Ajout de nouveaux types de mesure . . . . 5-35 Cration dune famille de conversion simple et ajout dunits. . . . . . . . . . . 5-36 Dclaration des variables . . . . . . . . . 5-36 Recensement de la famille de conversion. . . . . . . . . . . . . . . 5-37 Recensement des units de mesure . . . 5-37 Utilisation des nouvelles units . . . . . 5-37 Utilisation dune fonction de conversion . 5-37 Dclaration des variables . . . . . . . . . 5-38 Recensement de la famille de conversion. . . . . . . . . . . . . . . 5-38 Recensement de lunit de base . . . . . 5-38 Ecriture des mthodes de conversion vers et depuis lunit de base . . . . . 5-38 Recensement des autres units . . . . . 5-39 Utilisation des nouvelles units . . . . . 5-39 Utilisation dune classe pour grer les conversions. . . . . . . . . . . . . . . . 5-39 Cration de la classe de conversion . . . 5-40 Dclaration des variables . . . . . . . . . 5-41 Recensement de la famille de conversion et des autres units . . 5-41 Utilisation des nouvelles units . . . . . 5-42 Dfinition de variants personnaliss . . . . . . 5-42 Stockage des donnes dun type variant personnalis . . . . . . . . . . . . . . . . . 5-43 Cration dune classe pour le type variant personnalis . . . . . . . . . . . . . . . . . 5-44 Transtypage. . . . . . . . . . . . . . . . . 5-44 Implmentation doprations binaires . 5-46 Implmentation doprations de comparaison . . . . . . . . . . . . . 5-48 Implmentation doprations unaires . . 5-49 Copie et effacement des variants personnaliss. . . . . . . . . . . . . . . . . 5-50 Chargement et enregistrement des valeurs des variants personnaliss . . . . . . . 5-51

Utilisation du descendant de TCustomVariantType . . . . . . . . . 5-52 Ecriture dutilitaires fonctionnant avec un type variant personnalis . . . . . 5-52 Support des proprits et des mthodes dans les variants personnaliss. . . . . . . 5-53 Utilisation de TInvokeableVariantType . 5-54 Utilisation de TPublishableVariantType . 5-55

Chapitre 6

Utilisation des composants

6-1

Initialisation des proprits dun composant . 6-2 Initialisation des proprits la conception 6-2 Utilisation des diteurs de proprit. . . 6-3 Initialisation des proprits lexcution . . 6-3 Appel de mthodes . . . . . . . . . . . . . . . . 6-3 Utilisation des vnements et des gestionnaires dvnements . . . . . . . . . . . . . . . . . . . 6-4 Gnration dun nouveau gestionnaire dvnement . . . . . . . . . . . . . . . . . 6-4 Gnration du gestionnaire de lvnement par dfaut dun composant . . . . . . . . . 6-4 Recherche de gestionnaires dvnements . 6-5 Association dun vnement un gestionnaire dvnement existant . . . . . . . . . . . . 6-5 Utilisation du paramtre Sender . . . . . 6-6 Affichage et codage dvnements partags . . . . . . . . . . . . . . . . . . 6-6 Association dvnements de menu des gestionnaires dvnements . . . . . 6-6 Suppression de gestionnaires dvnements 6-7 Composants multiplates-formes ou non multiplates-formes . . . . . . . . . . . . . . . . 6-7 Ajout de composants personnaliss la palette des composants . . . . . . . . . 6-10

Transformation dun contrle fentr en un site dancrage. . . . . . . . . . . . . . 7-5 Transformation dun contrle en un enfant ancrable . . . . . . . . . . . . . . . . . . . . . 7-5 Contrle de lancrage des contrles enfant . 7-6 Contrle du dsancrage des contrles enfant . . . . . . . . . . . . . . . . . . . . . . 7-6 Contrle de la rponse des contrles enfant aux oprations glisser-ancrer . . . . . . . . 7-7 Manipulation du texte dans les contrles . . . . 7-7 Dfinition de lalignement du texte. . . . . . 7-7 Ajout de barres de dfilement en mode excution . . . . . . . . . . . . . . . . . . . . 7-8 Ajout de lobjet Clipboard . . . . . . . . . . . 7-9 Slection de texte . . . . . . . . . . . . . . . . 7-9 Slection de la totalit dun texte . . . . . . 7-10 Couper, copier et coller du texte . . . . . . 7-11 Effacement du texte slectionn. . . . . . . 7-11 Dsactivation des lments de menu. . . . 7-11 Ajout dun menu surgissant . . . . . . . . . 7-12 Gestion de lvnement OnPopup . . . . . 7-13 Ajout de graphiques des contrles . . . . . . 7-14 Spcification du style dessin par le propritaire . . . . . . . . . . . . . . 7-14 Ajout dobjets graphiques une liste de chanes . . . . . . . . . . . . . . . . . . 7-15 Ajout dimages une application . . . . 7-15 Ajout dimages une liste de chanes . 7-15 Dessiner des lments dessins par le propritaire . . . . . . . . . . . . 7-16 Dimensionnement des lments dessins par le propritaire . . . . . . . . . . . . . . 7-16 Dessin des lments par le propritaire . . 7-18

Chapitre 8

Chapitre 7

Manipulation des contrlesImplmentation du glisser-dplacer dans les contrles . . . . . . . . . . . . . Dbut de lopration glisser-dplacer . Acceptation des lments dplacer . Dplacement des lments . . . . . . . Fin de lopration glisser-dplacer . . . Personnalisation du glisser-dplacer avec un objet dplacement . . . . . . Changement du pointeur de la souris. Implmentation du glisser-ancrer dans les contrles . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7-17-1 7-1 7-2 7-3 7-3

Cration dapplications, de composants et de bibliothques 8-1Cration dapplications . . . . . . . . . Applications dinterface utilisateur graphique. . . . . . . . . . . . . . . Modles dinterfaces utilisateur . Applications SDI. . . . . . . . . . MDI, applications . . . . . . . . . Dfinition des options de lEDI, du projet et du compilateur . . Modles de programmation . . . . . Applications console . . . . . . . . . Applications service . . . . . . . . . Threads de service. . . . . . . . . . . . . . 8-1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-1 . 8-2 . 8-2 . 8-2 . 8-3 . 8-3 . 8-4 . 8-4 . 8-7

. . . 7-4 . . . 7-4 . . . 7-4

iii

Proprits de nom dun service . . . . . 8-9 Dbogage dapplications service . . . . . 8-9 Cration de paquets et de DLL . . . . . . . . . 8-10 Utilisation des paquets et des DLL . . . . . 8-11 Ecriture dapplications de bases de donnes. . 8-12 Distribution dapplications de bases de donnes . . . . . . . . . . . . . . . . . . 8-13 Cration dapplications serveur Web . . . . . . 8-13 Cration dapplications Web Broker . . . . . 8-13 Cration dapplications WebSnap . . . . . . 8-15 Cration dapplications services Web . . . . 8-15 Ecriture dapplications en utilisant COM . . . 8-16 Utilisation de COM et de DCOM . . . . . . 8-16 Utilisation de MTS et de COM+ . . . . . . . 8-16 Utilisation de modules de donnes . . . . . . . 8-17 Cration et modification de modules de donnes standard . . . . . . . . . . . . . 8-18 Nom dun module de donnes et de son fichier unit . . . . . . . . . . 8-18 Placer et nommer les composants . . . . 8-19 Utilisation des proprits et vnements des composants dans un module de donnes. . . . . . . . . . . . . . . . . 8-20 Cration de rgles de gestion dans un module de donnes . . . . . . 8-20 Accs un module de donnes depuis une fiche . . . . . . . . . . . . . . . 8-21 Ajout dun module de donnes distant un projet serveur dapplication . . . . . 8-22 Utilisation du rfrentiel dobjets . . . . . . . . 8-22 Partage dlments dans un projet. . . . . . 8-22 Ajout dlments au rfrentiel dobjets . . 8-23 Partage dobjets par une quipe de dveloppement . . . . . . . . . . . . . . 8-23 Utilisation dun lment du rfrentiel dobjets dans un projet . . . . . . . . . . . 8-23 Copie dun lment . . . . . . . . . . . . 8-24 Hritage dun lment . . . . . . . . . . . 8-24 Utilisation dun lment . . . . . . . . . . 8-24 Utilisation de modles de projet . . . . . . . 8-24 Modification dlments partags . . . . . . 8-25 Spcification dun projet par dfaut, dune nouvelle fiche et de la fiche principale . . 8-25 Activation de laide dans les applications . . . 8-25 Interfaces avec les systmes daide . . . . . 8-26 Implmentation de ICustomHelpViewer . . 8-27 Communication avec le gestionnaire daide . . . . . . . . . . . . . . . . . . . . . 8-27

Demande dinformations au gestionnaire daide . . . . . . . . . . . . . . . . . . . . . Affichage de laide base sur un mot cl . Affichage des sommaires. . . . . . . . . . . Implmentation de IExtendedHelpViewer. Implmentation de IHelpSelector . . . . . . Recensement des objets du systme daide . . . . . . . . . . . . . . . . . . . . . Recensement des visualiseurs daide . . Recensement des slecteurs daide . . . Utilisation de laide dans une application VCL . . . . . . . . . . . . . . . . . . . . . . . . Comment TApplication traite-il laide VCL . . . . . . . . . . . . . . . . . . . . . . Comment les contrles VCL traitent-ils laide . . . . . . . . . . . . . . . . . . . . . Utilisation de laide dans une application CLX . . . . . . . . . . . . . . . . . . . . . . . . Comment TApplication traite-il laide CLX . . . . . . . . . . . . . . . . . . . . . . Comment les contrles CLX traitent-ils laide . . . . . . . . . . . . . . . . . . . . . Appel direct un systme daide . . . . . . . Utilisation de IHelpSystem . . . . . . . . . . . Personnalisation du systme daide de lEDI .

8-28 8-28 8-29 8-30 8-31 8-31 8-31 8-32 8-32 8-32 8-32 8-33 8-33 8-33 8-34 8-34 8-35

Chapitre 9

Conception de linterface utilisateur des applications 9-1Contrle du comportement de lapplication . . 9-1 Manipulation de lapplication . . . . . . . . . 9-2 Gestion de lcran . . . . . . . . . . . . . . . . 9-2 Paramtrage des fiches. . . . . . . . . . . . . . . 9-2 Utilisation de la fiche principale . . . . . . . 9-3 Cacher la fiche principale . . . . . . . . . . . 9-3 Ajout de fiches. . . . . . . . . . . . . . . . . . 9-3 Liaison de fiches . . . . . . . . . . . . . . . 9-3 Rfrences circulaires dunits . . . . . . . 9-4 Gestion de la disposition. . . . . . . . . . . . 9-4 Utilisation des fiches . . . . . . . . . . . . . . . . 9-5 Contrle du stockage en mmoire des fiches . . . . . . . . . . . . . . . . . . . . 9-6 Affichage dune fiche cre automatiquement . . . . . . . . . . . . . 9-6 Cration dynamique de fiche . . . . . . . 9-6 Cration de fiches non modales comme fentres . . . . . . . . . . . . . . . . . . . 9-7 Cration dune instance de fiche en utilisant une variable locale. . . . . . . . . . . . . 9-8

iv

Transfert de paramtres supplmentaires aux fiches . . . . . . . . . . . . . . . . . . . 9-8 Rcupration des donnes des fiches . . . . 9-9 Rcupration de donnes dans les fiches non modales . . . . . . . . . . . . . . . . 9-9 Rcupration de donnes dans les fiches modales . . . . . . . . . . . . . . . . . . 9-11 Rutilisation des composants et des groupes de composants . . . . . . . . . . . . . . . . . . 9-13 Cration et utilisation des modles de composants . . . . . . . . . . . . . . . . . . 9-13 Manipulation des cadres . . . . . . . . . . . . . 9-14 Cration de cadres . . . . . . . . . . . . . . . 9-15 Ajout de cadres la palette des composants . . . . . . . . . . . . . . . . 9-15 Utilisation et modification des cadres . . . . 9-15 Partage des cadres . . . . . . . . . . . . . . . 9-17 Dveloppement de botes de dialogue . . . . . 9-17 Utilisation des botes de dialogue douverture . . . . . . . . . . . . . . . . . . 9-18 Organisation des actions pour les barres doutils et les menus. . . . . . . . . . . . . . . 9-18 Quest-ce quune action ? . . . . . . . . . . . 9-20 Dfinition des bandes dactions . . . . . . . 9-21 Cration des barres doutils et des menus . 9-21 Ajout de couleurs, de motifs ou dimages aux menus, boutons et barres doutils . . . . . . . . . . . . . 9-23 Ajout dicnes aux menus et aux barres doutils . . . . . . . . . . . 9-24 Slection de styles de menu et de barre doutils . . . . . . . . . . . . 9-24 Cration de menus dynamiques . . . . . 9-25 Cration de barres doutils et de menus personnalisables par lutilisateur . . . . 9-26 Cacher les lments et les catgories inutiliss dans les bandes daction . . . 9-26 Cration de listes dlments les plus rcemment utiliss . . . . . . . 9-27 Utilisation des listes dactions . . . . . . . . . . 9-28 Dfinition des listes dactions . . . . . . . . 9-28 Que se passe-t-il lors du dclenchement dune action ? . . . . . . . . . . . . . . . . . 9-29 Rponse par les vnements . . . . . . . 9-29 Comment les actions trouvent leurs cibles . . . . . . . . . . . . . . . . . 9-31 Actualisation des actions . . . . . . . . . . . 9-31 Classes dactions prdfinies . . . . . . . . . 9-32 Conception de composants action . . . . . . 9-33 Recensement dactions. . . . . . . . . . . . . 9-34 v

Cration et gestion de menus . . . . . . . . . . 9-34 Ouverture du concepteur de menus . . . . 9-35 Construction des menus . . . . . . . . . . . 9-36 Nom des menus . . . . . . . . . . . . . . 9-36 Nom des lments de menu . . . . . . . 9-37 Ajout, insertion et suppression dlments de menu . . . . . . . . . . . 9-37 Ajout de lignes de sparation . . . . . . 9-39 Spcification de touches acclratrices et de raccourcis clavier . . . . . . . . . 9-39 Cration de sous-menus . . . . . . . . . . . 9-40 Cration de sous-menus par dplacement de menus existants . . . . . . . . . . . 9-41 Dplacement dlments de menu . . . 9-41 Ajout dimages des lments de menu. . . . . . . . . . . . . . . . . . 9-42 Affichage du menu . . . . . . . . . . . . 9-42 Edition des lments de menu dans linspecteur dobjets. . . . . . . . . . 9-43 Utilisation du menu contextuel du concepteur de menus . . . . . . . . . . 9-43 Commandes du menu contextuel . . . . 9-43 Dplacement parmi les menus la conception . . . . . . . . . . . . . . 9-44 Utilisation des modles de menu . . . . . . 9-45 Enregistrement dun menu comme modle 9-46 Conventions de nom pour les lments et les gestionnaires dvnements des modles de menu . . . . . . . . . . 9-47 Manipulation dlments de menu lexcution . . . . . . . . . . . . . . . . . 9-47 Fusion de menus . . . . . . . . . . . . . . . 9-48 Spcification du menu actif : proprit Menu. . . . . . . . . . . . . . 9-48 Ordre des lments de menu fusionns : proprit GroupIndex . . . . . . . . . . 9-48 Importation de fichiers ressource . . . . . . 9-49 Conception de barres doutils et de barres multiples . . . . . . . . . . . . . . . . . . . . . 9-49 Ajout dune barre doutils en utilisant un composant volet . . . . . . . . . . . . . 9-50 Ajout dun turbobouton un volet . . . 9-51 Spcification du glyphe dun turbobouton . . . . . . . . . . . . 9-51 Dfinition de ltat initial dun turbobouton . . . . . . . . . . . . 9-52 Cration dun groupe de turboboutons . . . . . . . . . . . . . 9-52 Utilisation de boutons bascule . . . . . . 9-52

Ajout dune barre doutils en utilisant le composant barre doutils . . . . . . . . Ajout dun bouton outil . . . . . . . . . Affectation dimages des boutons outil. . . . . . . . . . . . . . . . . . . . Dfinition de laspect et des conditions initiales dun bouton outil . . . . . . . Cration de groupes de boutons outil . Utilisation de boutons outil bascule . . Ajout dun composant barre multiple . . . Dfinition de laspect de la barre multiple . . . . . . . . . . . . . . . . . Rponse aux clics . . . . . . . . . . . . . . Affectation dun menu un bouton outil. . . . . . . . . . . . . . . . . . . . Ajout de barres doutils masques. . . . . Masquage et affichage dune barre doutils . . . . . . . . . . . . . . . . . . . . Programmes exemple . . . . . . . . . . . . Contrles communs et thmes XP. . . . . . .

. 9-53 . 9-53 . 9-53 . 9-54 . 9-54 . 9-55 . 9-55 . 9-55 . 9-56 . 9-56 . 9-56 . 9-57 . 9-57 . 9-57

Chapitre 10

Types de contrlesContrles texte . . . . . . . . . . . . . . . . . . Contrles de saisie . . . . . . . . . . . . . . Proprits des contrles de saisie . . . Contrles de saisie mmo et texte format . . . . . . . . . . . . . Contrles de visualisation de texte . . . . Libells . . . . . . . . . . . . . . . . . . . . Contrles de saisie spcialise . . . . . . . . . Barres de dfilement . . . . . . . . . . . . . Barres gradues. . . . . . . . . . . . . . . . Contrles haut-bas . . . . . . . . . . . . . . Contrles incrmenteur (CLX seulement) Contrles touche daccs rapide (VCL seulement) . . . . . . . . . . . . . . Contrles sparateur. . . . . . . . . . . . . Boutons et contrles similaires. . . . . . . . . Contrles bouton . . . . . . . . . . . . . . . Boutons bitmap. . . . . . . . . . . . . . . . Turboboutons . . . . . . . . . . . . . . . . . Cases cocher . . . . . . . . . . . . . . . . Boutons radio. . . . . . . . . . . . . . . . . Barres doutils . . . . . . . . . . . . . . . . Barres multiples (VCL seulement) . . . . . Contrles liste . . . . . . . . . . . . . . . . . . Botes liste et botes liste de cases cocher . . . . . . . . . . . . . .

10-1. 10-1 . 10-2 . 10-3 . 10-3 . 10-4 . 10-4 . 10-5 . 10-6 . 10-6 . 10-7 . 10-7 . 10-7 . 10-7 . 10-8 . 10-8 . 10-9 . 10-9 10-10 10-10 10-10 10-11 10-11 10-12

Botes options . . . . . . . . . . . . . . . Vues arborescentes . . . . . . . . . . . . . Vues liste . . . . . . . . . . . . . . . . . . . Vues icne (CLX seulement) . . . . . . . . Slecteurs Date/Heure et calendriers mensuels . . . . . . . . . . . . . . . . . . Regroupement de contrles . . . . . . . . . . Botes groupe et groupes de boutons radio . . . . . . . . . . . . . Volets . . . . . . . . . . . . . . . . . . . . . Botes de dfilement . . . . . . . . . . . . Contrles onglets . . . . . . . . . . . . . . Contrles pages . . . . . . . . . . . . . . . Contrles en-ttes . . . . . . . . . . . . . . Contrles daffichage. . . . . . . . . . . . . . Barres dtat . . . . . . . . . . . . . . . . . Barres de progression. . . . . . . . . . . . Proprits daide ou de conseil daide . . Grilles . . . . . . . . . . . . . . . . . . . . . . Grilles de dessin. . . . . . . . . . . . . . . Grilles de chanes . . . . . . . . . . . . . . Editeur de liste de valeurs (VCL seulement) Contrles graphiques. . . . . . . . . . . . . . Images . . . . . . . . . . . . . . . . . . . . Formes . . . . . . . . . . . . . . . . . . . . Biseaux . . . . . . . . . . . . . . . . . . . . Botes peindre . . . . . . . . . . . . . . . Contrle animation . . . . . . . . . . . . .

10-13 10-13 10-14 10-14 10-14 10-15 10-15 10-15 10-16 10-17 10-17 10-17 10-17 10-18 10-18 10-18 10-19 10-19 10-19 10-20 10-21 10-21 10-21 10-21 10-22 10-22

Chapitre 11

Conception de classes et de composants avec ModelMakerPrincipes de ModelMaker . . . . . . Modles ModelMaker . . . . . . Utilisation de ModelMaker dans Cration de modles . . . . . . . Utilisation des vues ModelMaker . Volet Collections. . . . . . . . . . Vue Classes . . . . . . . . . . . Vue Units . . . . . . . . . . . Vue Diagrammes . . . . . . . Volet Membres. . . . . . . . . . . Volet Editeurs . . . . . . . . . . . Editeur dImplmentation . . Editeur de Code dunit . . . Editeur de Diagramme . . . . Autres diteurs. . . . . . . . . Pour plus dinformations . . . . . . . . . . . . . . lEDI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

11-1. . . . . . . . . . . . . . . . 11-1 11-2 11-2 11-2 11-3 11-4 11-4 11-4 11-5 11-6 11-6 11-7 11-7 11-8 11-8 11-9

vi

Chapitre 12

Utilisation des graphiques et du multimdiaPrsentation de la programmation relative aux graphiques . . . . . . . . . . . . . . . . Rafrachissement de lcran . . . . . . . . Types des objets graphiques . . . . . . . Proprits et mthodes communes du canevas . . . . . . . . . . . . . . . . Utilisation des proprits de lobjet canevas. . . . . . . . . . . . . Utilisation des crayons. . . . . . . . . Utilisation des pinceaux . . . . . . . . Lecture et dfinition de pixels . . . . Utilisation des mthodes du canevas pour dessiner des objets graphiques. . Dessin de lignes et de polylignes . . Dessin de formes . . . . . . . . . . . . Gestion de plusieurs objets de dessin dans votre application . . . . . . . . . . Faire le suivi de loutil de dessin utiliser . . . . . . . . . . . . . . . . Changement doutil en utilisant un turbobouton . . . . . . . . . . . . Utilisation des outils de dessin . . . . Dessiner sur un graphique . . . . . . . . Cration de graphiques dfilables . . Ajout dun contrle image . . . . . . Chargement et enregistrement de fichiers graphiques . . . . . . . . . . Chargement dune image depuis un fichier . . . . . . . . . . . Enregistrement dune image dans un fichier . . . . . . . . . . . . Remplacement de limage . . . . . . . Utilisation du presse-papiers avec les graphiques . . . . . . . . . . . Copier des graphiques dans le presse-papiers . . . . . . . . Couper un graphique dans le presse-papiers . . . . . . . . Coller des graphiques depuis le presse-papiers . . . . . . . Techniques de dessin dans une application. . . . . . . . . . . Rpondre la souris . . . . . . . . . . Rponse laction bouton de souris enfonc . . . . . . . . . . . . . . . . .

12-1. . 12-1 . . 12-2 . . 12-3 . . 12-4 . . . . . 12-6 . 12-6 . 12-8 12-10

Ajout dun champ un objet fiche pour faire le suivi des actions de la souris 12-28 Amlioration du dessin des lignes . . 12-30 Utilisation du multimdia . . . . . . . . . . . 12-31 Ajout de squences vido silencieuses une application . . . . . . . . . . . . . 12-32 Exemple dajout de squences vido silencieuses . . . . . . . . . . . . . . . 12-33 Ajout de squences audio et/ou vido une application . . . . . . . . . . . . . 12-34 Exemple dajout de squences audio et/ou vido (VCL seulement) . . . . 12-35

Chapitre 13

. 12-10 . 12-10 . 12-12 . 12-13 . 12-13 . . . . . 12-14 12-15 12-17 12-18 12-18

Ecriture dapplications multithreads

13-1

. 12-20 . 12-20 . 12-21 . 12-21 . 12-23 . 12-23 . 12-23 . 12-24 . 12-25 . 12-25 . 12-27

Dfinition dobjets thread . . . . . . . . . . . . 13-2 Initialisation du thread . . . . . . . . . . . . 13-3 Affectation dune priorit par dfaut . . 13-3 Libration des threads . . . . . . . . . . 13-4 Ecriture de la fonction thread . . . . . . . . 13-4 Utilisation du thread principal VCL/CLX . . . . . . . . . . . . . . . . . 13-4 Utilisation de variables locales aux threads . . . . . . . . . . . . . . . . 13-6 Vrification de larrt par dautres threads . . . . . . . . . . . 13-6 Gestion des exceptions dans la fonction thread . . . . . . . . . 13-6 Ecriture du code de nettoyage . . . . . . . 13-7 Coordination de threads . . . . . . . . . . . . . 13-7 Eviter les accs simultans. . . . . . . . . . 13-8 Verrouillage dobjets. . . . . . . . . . . . 13-8 Utilisation de sections critiques . . . . . 13-8 Utilisation du synchronisateur criture exclusive et lecture multiple . . . . . . 13-9 Autres techniques de partage de la mmoire . . . . . . . . . . . . . . 13-9 Attente des autres threads . . . . . . . . . 13-10 Attente de la fin dexcution dun thread . . . . . . . . . . . . . . . 13-10 Attente de lachvement dune tche . 13-10 Excution dobjets thread . . . . . . . . . . . 13-12 Redfinition de la priorit par dfaut . . 13-12 Dmarrage et arrt des threads . . . . . . 13-12 Dbogage dapplications multithreads. . . . 13-13 Nommer un thread . . . . . . . . . . . . . 13-13 Conversion dun thread anonyme en thread nomm . . . . . . . . . . . 13-13

vii

Affectation de noms distincts des threads similaires . . . . . . . . 13-15

Chapitre 14

Gestion des exceptionsDfinition des blocs protgs . . . . . . . . . Ecriture du bloc try . . . . . . . . . . . . . Dclenchement dune exception . . . . Ecriture de gestionnaires dexceptions . . Instructions de gestion des exceptions. Gestion des classes dexceptions . . . . Porte des gestionnaires dexceptions . Redclenchement dexceptions . . . . . Ecriture de blocs finally . . . . . . . . . . . Ecriture dun bloc finally . . . . . . . . Gestion des exceptions dans les applications VCL . . . . . . . . . . Classes dexception VCL . . . . . . . . . . Gestion des exceptions par dfaut dans VCL . . . . . . . . . . . . . . . . . . Exceptions silencieuses . . . . . . . . . . . Dfinition dexceptions VCL personnalises . . . . . . . . . . . . . . .

14-1. 14-2 . 14-2 . 14-3 . 14-4 . 14-4 . 14-6 . 14-6 . 14-7 . 14-8 . 14-9 14-10 14-10 14-12 14-12 14-13

Chapitre 15

Inclusion de code assembleur inline . 15-16 Diffrences de programmation sous Linux . . . . . . . . . . . . . . . . . 15-17 Transfert dapplications entre Windows et Linux . . . . . . . . . . . . . . . . . . . . 15-18 Partage des fichiers source entre Windows et Linux . . . . . . . . . 15-18 Diffrences denvironnement entre Windows et Linux . . . . . . . . . 15-19 Registre . . . . . . . . . . . . . . . . . . 15-21 Prsentation visuelle . . . . . . . . . . 15-22 Structure de rpertoires sous Linux . . . 15-22 Applications de bases de donnes multiplates-formes . . . . . . . . . . . . . . 15-23 Diffrences de dbExpress . . . . . . . . . 15-24 Diffrences au niveau composant . . . . . 15-25 Diffrences au niveau de linterface utilisateur. . . . . . . . . . . . . . . . . . 15-26 Portage dapplications de bases de donnes vers Linux . . . . . . . . . . . . . . . . . 15-26 Mise jour des donnes dans les applications dbExpress. . . . . 15-29 Applications Internet multiplates-formes . . 15-31 Portage dapplications Internet vers Linux . . . . . . . . . . . . . . . . . 15-31

Dveloppement dapplications multiplates-formesCration dapplications CLX . . . . . . . . . Portage dapplications VCL . . . . . . . . . Techniques de portage. . . . . . . . . . . Portages propres une plate-forme . Portages multiplates-formes. . . . . . Portages dmulation Windows . . . Modification des applications VCL . . . WinCLX ou VisualCLX . . . . . . . . . . Diffrences de VisualCLX . . . . . . . Fonctionnalits non portes directement ou manquantes . . . . . . . . . . . . . . Comparaison des units WinCLX et VisualCLX . . . . . . . . . . . . . . . Diffrences dans les constructeurs dobjets CLX . . . . . . . . . . . . . . . Gestion des vnements widget et systme . . . . . . . . . . . . . . . . . Ecriture de code portable . . . . . . . . . Utilisation des directives conditionnelles . . . . . . . . . . . . Terminaison des directives conditionnelles . . . . . . . . . . . . . . . . . . . . .

15-1. 15-2 . 15-2 . 15-2 . 15-3 . 15-3 . 15-3 . 15-3 . 15-5 . 15-6

Chapitre 16

Utilisation des paquets et des composantsPourquoi utiliser des paquets ? . . . . . . . . Les paquets et les DLL standard . . . . . Paquets dexcution . . . . . . . . . . . . . . Chargement des paquets dans une application . . . . . . . . . . . Chargement des paquets avec la fonction LoadPackage . . . . Choix des paquets dexcution utiliser. Paquets personnaliss . . . . . . . . . . . Paquets de conception . . . . . . . . . . . . . Installation de paquets de composants. . Cration et modification de paquets . . . . . Cration dun paquet . . . . . . . . . . . . Modification dun paquet existant . . . . Prsentation de la structure dun paquet Nom de paquets . . . . . . . . . . . . . Clause Requires . . . . . . . . . . . . . Clause Contains . . . . . . . . . . . . . Modification manuelle de fichiers source de paquets . . . . . . . . . . . . . . . . .

16-1. 16-2 . 16-2 . 16-3 . 16-3 . 16-4 . 16-4 . 16-5 . 16-5 . 16-6 . 16-7 . 16-7 . 16-8 . 16-9 . 16-9 . 16-9 16-10 16-10

. . 15-7 . . 15-8 . 15-12 . 15-12 . 15-13 . 15-14 . 15-15 viii

Compilation de paquets . . . . . . . . Directives de compilation propres aux paquets . . . . . . . . . . . . Compilation et liaison partir de la ligne de commande . . . . Fichiers de paquets crs lors dune compilation . . . . . . Dploiement de paquets . . . . . . . . . Dploiement dapplications utilisant des paquets . . . . . . . . . . . . . . Distribution de paquets dautres dveloppeurs . . . . . . . . . . . . . Fichiers de collection de paquets . .

. . . 16-11 . . . 16-11 . . . 16-13 . . . 16-14 . . . 16-14 . . . 16-14 . . . 16-14 . . . 16-15

Chapitre 18

Dploiement des applications

18-1

Chapitre 17

Cration dapplications internationales

17-1

Internationalisation et localisation. . . . . . . . 17-1 Internationalisation . . . . . . . . . . . . . . 17-1 Localisation . . . . . . . . . . . . . . . . . . . 17-2 Internationalisation des applications . . . . . . 17-2 Codage de lapplication . . . . . . . . . . . . 17-2 Jeux de caractres. . . . . . . . . . . . . . 17-2 Jeux de caractres OEM et ANSI . . . . . 17-3 Jeux de caractres multi-octets . . . . . . 17-3 Caractres tendus . . . . . . . . . . . . . 17-4 Inclure des fonctionnalits bi-directionnelles dans les applications 17-4 Proprit BiDiMode . . . . . . . . . . . . 17-5 Fonctionnalits spcifiques aux cibles locales . . . . . . . . . . . . . 17-7 Conception de linterface utilisateur. . . . . 17-8 Texte . . . . . . . . . . . . . . . . . . . . . 17-8 Images graphiques . . . . . . . . . . . . . 17-8 Formats et ordre de tri . . . . . . . . . . . 17-9 Correspondances entre claviers. . . . . . 17-9 Isolation des ressources . . . . . . . . . . . . 17-9 Cration de DLL de ressource . . . . . . . . 17-9 Utilisation des DLL de ressource . . . . . 17-11 Basculement dynamique de DLL de ressource . . . . . . . . . . . . . . . . . 17-12 Localisation des applications. . . . . . . . . . 17-13 Localisation des ressources . . . . . . . . . 17-13

Dploiement dapplications gnralistes . . . 18-1 Utilisation des programmes dinstallation . 18-2 Identification des fichiers de lapplication. . . . . . . . . . . . . . 18-3 Fichiers de lapplication . . . . . . . . . 18-3 Fichiers paquet. . . . . . . . . . . . . . . 18-3 Modules de fusion. . . . . . . . . . . . . 18-3 Contrles ActiveX . . . . . . . . . . . . . 18-5 Applications complmentaires . . . . . . 18-6 Emplacement des DLL . . . . . . . . . . 18-6 Dploiement dapplications CLX . . . . . . . . 18-6 Dploiement dapplications de bases de donnes . . . . . . . . . . . . . . 18-6 Dploiement dapplications de bases de donnes dbExpress . . . . . . 18-8 Dploiement dapplications BDE . . . . . . 18-9 Le moteur de bases de donnes Borland . . . . . . . . . . . . . . . . . . 18-9 Dploiement dapplications de bases de donnes multiniveaux (DataSnap) . 18-10 Dploiement dapplications Web . . . . . . . 18-10 Dploiement sur les serveurs Apache . . .18-11 Activation des modules. . . . . . . . . .18-11 CGI, applications . . . . . . . . . . . . .18-11 Programmation pour des environnements htes htrognes . . . . . . . . . . . . . . . 18-12 Rsolution dcran et profondeur de couleurs . . . . . . . . . . . . . . . . . 18-13 Si vous nutilisez pas de redimensionnement dynamique . 18-13 Si vous redimensionnez dynamiquement les fiches et les contrles . . . . . . . 18-13 Adaptation des profondeurs de couleurs variables . . . . . . . . . 18-15 Fontes . . . . . . . . . . . . . . . . . . . . . 18-15 Versions des systmes dexploitation. . . 18-16 Termes du contrat de licence logicielle . . . 18-16 DEPLOY . . . . . . . . . . . . . . . . . . . 18-16 README . . . . . . . . . . . . . . . . . . . 18-17 Contrat de licence . . . . . . . . . . . . . . 18-17 Documentation de produits vendus par un tiers . . . . . . . . . . . . . . . . . 18-17

ix

Partie II

Dveloppement dapplications de bases de donnesChapitre 19

Conception dapplications de bases de donnes

19-1

Utilisation des bases de donnes . . . . . . . . 19-1 Types de bases de donnes . . . . . . . . . . 19-3 Scurit des bases de donnes . . . . . . . . 19-4 Transactions . . . . . . . . . . . . . . . . . . . 19-5 Intgrit rfrentielle, procdures stockes et dclencheurs. . . . . . . . . . . 19-6 Architecture des bases de donnes . . . . . . . 19-6 Structure gnrale . . . . . . . . . . . . . . . 19-7 Fiche interface utilisateur . . . . . . . . . 19-7 Module de donnes . . . . . . . . . . . . 19-7 Connexion directe un serveur de bases de donnes . . . . . . . . . . . . . 19-9 Utilisation dun fichier ddi sur disque . 19-10 Connexion un autre ensemble de donnes . . . . . . . . . . . . . . . . . 19-12 Connexion dun ensemble de donnes client un autre ensemble de donnes dans la mme application . . . . . . . 19-14 Utilisation dune architecture multiniveau . . . . . . . . . . . . . . . 19-15 Combinaison des approches . . . . . . . . 19-16 Conception de linterface utilisateur . . . . . 19-17 Analyse des donnes . . . . . . . . . . . . 19-18 Ecriture dtats . . . . . . . . . . . . . . . . 19-18

Chapitre 20

Utilisation de contrles de donnes

20-1

Fonctionnalits communes des contrles de donnes . . . . . . . . . . . . . . . . . . . . 20-2 Association dun contrle de donnes un ensemble de donnes . . . . . . . . . 20-3 Modification de lensemble de donnes associ lexcution . . . . . . . . . . . 20-4 Activation et dsactivation de la source de donnes . . . . . . . . . 20-4 Rponse aux modifications effectues par le biais de la source de donnes . . 20-5 Edition et mise jour des donnes . . . . . 20-5 Activation de ldition des contrles lors dune saisie utilisateur . . . . . . . 20-5 x

Edition des donnes affiches dans un contrle . . . . . . . . . . . . . 20-6 Activation et dsactivation de laffichage des donnes . . . . . . . . . . . . . . . . . 20-7 Rafrachissement de laffichage des donnes . . . . . . . . . . . . . . . . . 20-7 Activation des vnements souris, clavier et timer. . . . . . . . . . . . . . . . 20-8 Choix de lorganisation des donnes. . . . . . 20-8 Affichage dun seul enregistrement. . . . . 20-8 Affichage de donnes en tant que libells. . . . . . . . . . . . 20-9 Affichage et dition de champs dans une zone de saisie. . . . . . . . . 20-9 Affichage et dition de texte dans un contrle mmo . . . . . . . . 20-10 Affichage et dition dans un contrle mmo de texte format . . . . . . . . 20-10 Affichage et dition de champs graphiques dans un contrle image . . . . . . . . .20-11 Affichage de donnes dans des botes liste et des botes options . . . . . . . . .20-11 Manipulation de champs boolens avec des cases cocher . . . . . . . . 20-15 Limitation de valeurs de champ avec des boutons radio . . . . . . . . 20-16 Affichage de plusieurs enregistrements . 20-17 Visualisation et dition des donnes avec un contrle TDBGrid . . . . . . . . . . 20-17 Utilisation dun contrle grille son tat par dfaut . . . . . . . . . . . . . . . . . 20-18 Cration dune grille personnalise. . . . 20-19 Prsentation des colonnes persistantes . . . . . . . . . . . . . . . 20-20 Cration de colonnes persistantes . . . 20-21 Suppression de colonnes persistantes. 20-22 Modification de lordre des colonnes persistantes . . . . . . . 20-22 Dfinition des proprits de colonne en mode conception . . . . . . . . . . 20-23 Dfinition dune colonne de liste de rfrence. . . . . . . . . . . . . . . 20-24 Insertion dun bouton dans une colonne . . . . . . . . . . . 20-25 Restauration des valeurs par dfaut dune colonne . . . . . . . . . . . . . 20-25 Affichage des champs ADT et tableau . . 20-25 Dfinition des options de la grille . . . . 20-28 Saisie de modifications dans la grille. . . 20-29 Contrle du dessin de la grille . . . . . . 20-30

Comment rpondre aux actions de lutilisateur lexcution . . . . . . . 20-30 Cration dune grille qui contient dautres contrles orients donnes . . . . . . . . . . 20-31 Navigation et manipulation denregistrements . . . . . . . . . . . . . . . 20-33 Choix des boutons visibles . . . . . . . . . 20-34 Affichage et dissimulation des boutons en mode conception . . . . . . . . . . 20-34 Affichage et dissimulation des boutons lexcution . . . . . . . . . . . . . . . 20-34 Affichage de panneaux dinformation. . . 20-35 Utilisation dun navigateur pour plusieurs ensembles de donnes . . . . . . . . . . . 20-35

Chapitre 21

Cration dtats avec Rave Reports

21-1

Prsentation . . . . . . . . . . . . . . . . . . . . 21-1 Dmarrage . . . . . . . . . . . . . . . . . . . . . 21-2 Le concepteur visuel Rave . . . . . . . . . . . . 21-3 Prsentation des composants. . . . . . . . . . . 21-4 Composants VCL/CLX . . . . . . . . . . . . 21-4 Composants moteur . . . . . . . . . . . . 21-4 Composants de restitution . . . . . . . . 21-4 Composants de connexion aux donnes. 21-4 Composant projet Rave . . . . . . . . . . 21-5 Composants dtat . . . . . . . . . . . . . . . 21-5 Composants de projet . . . . . . . . . . . 21-5 Objets de donnes . . . . . . . . . . . . . 21-5 Composants standard . . . . . . . . . . . 21-5 Composants de dessin . . . . . . . . . . . 21-5 Composants dtat . . . . . . . . . . . . . 21-6 Composants code barre . . . . . . . . . . 21-6 Pour plus dinformations . . . . . . . . . . . . . 21-6

Chapitre 22

Utilisation de composants daide la dcision

22-1

Prsentation . . . . . . . . . . . . . . . . . . . . 22-1 Prsentation des rfrences croises. . . . . . . 22-2 Rfrences croises une dimension . . . . 22-3 Rfrences croises plusieurs dimensions 22-3 Instructions relatives lutilisation de composants daide la dcision . . . . . . 22-3 Utilisation densembles de donnes avec les composants daide la dcision . . . 22-5

Cration densembles de donnes de dcision avec TQuery ou TTable. . . . 22-6 Cration densembles de donnes de dcision avec lditeur de requte de dcision . . . 22-6 Utilisation des cubes de dcision . . . . . . . . 22-7 Proprits et vnements des cubes de dcision . . . . . . . . . . . . . . . . . . 22-8 Utilisation de lditeur de cube de dcision 22-8 Visualisation et modification des paramtres de dimensions . . . . . 22-9 Dfinition du maximum de dimensions et de rcapitulations . . . . . . . . . . . 22-9 Visualisation et modification des options de conception . . . . . . . 22-9 Utilisation de sources de dcision . . . . . . 22-10 Proprits et vnements. . . . . . . . . . 22-10 Utilisation de pivots de dcision . . . . . . . 22-10 Proprits des pivots de dcision . . . . . .22-11 Cration et utilisation de grilles de dcision .22-11 Cration de grilles de dcision . . . . . . 22-12 Utilisation de grilles de dcision . . . . . 22-12 Ouverture et fermeture des champs dune grille de dcision . . . . . . . . 22-12 Rorganisation des lignes et des colonnes dune grille de dcision . . . . . . . . 22-12 Perforation pour voir les dtails dans les grilles de dcision . . . . . . 22-13 Limite des dimensions slectionner dans les grilles de dcision . . . . . . 22-13 Proprits des grilles de dcision . . . . . 22-13 Cration et utilisation de graphes de dcision . . . . . . . . . . . . . . . . . . . 22-14 Cration de graphes de dcision . . . . . 22-14 Utilisation de graphes de dcision . . . . 22-15 Affichage du graphe de dcision . . . . . 22-16 Personnalisation du graphe de dcision . 22-17 Dfinition des modles de graphe de dcision par dfaut . . . . . . . . 22-18 Personnalisation des sries dun graphe de dcision . . . . . . . 22-19 Utilisation des composants daide la dcision lexcution . . . . . . . . . . 22-20 Pivots de dcision lexcution . . . . . . 22-20 Grilles de dcision lexcution . . . . . 22-21 Graphes de dcision lexcution . . . . 22-21 Considrations relatives au contrle de la mmoire . . . . . . . . . . . . . . . . . 22-21 Dfinition du maximum de dimensions, de champs rcapitulatifs et de cellules . 22-22

xi

Dfinition de ltat des dimensions . . . . 22-22 Utilisation de dimensions pagines . . . . 22-23

Chapitre 23

Connexion aux bases de donnesUtilisation de connexions implicites . . . . . Contrles des connexions. . . . . . . . . . . . Connexion un serveur de bases de donnes . . . . . . . . . . . . Dconnexion dun serveur de bases de donnes . . . . . . . . . . . . Contrle de la connexion au serveur . . . . . Gestion des transactions . . . . . . . . . . . . Dmarrage dune transaction. . . . . . . . Achvement dune transaction . . . . . . . Achvement dune transaction russie Achvement dune transaction non russie. . . . . . . . . . . . . . . . Spcification du niveau disolement des transactions. . . . . . . . . . . . . . . Envoi de commandes au serveur . . . . . . . Utilisation densembles de donnes associs Fermeture densembles de donnes sans dconnexion du serveur . . . . . . . Dplacement parmi les ensembles de donnes associs . . . . . . . . . . . . Obtention de mtadonnes . . . . . . . . . . . Enumration des tables disponibles . . . . Enumration des champs dune table . . . Enumration des procdures stockes disponibles . . . . . . . . . . . . . . . . . Enumration des index disponibles . . . . Enumration des paramtres de procdure stocke . . . . . . . . . . .

23-1. 23-2 . 23-3 . 23-3 . 23-4 . 23-4 . 23-6 . 23-7 . 23-9 . 23-9 . 23-9 23-10 23-11 23-13 23-13 23-14 23-14 23-15 23-15 23-15 23-16 23-16

Chapitre 24

Prsentation des ensembles de donnesUtilisation des descendants de TDataSet . . Dtermination des tats dun ensemble de donnes . . . . . . . . . . . . . . . . . . Ouverture et fermeture des ensembles de donnes . . . . . . . . . . . . . . . . . . Navigation dans les ensembles de donnes Utilisation des mthodes First et Last . . Utilisation des mthodes Next et Prior . Utilisation de la mthode MoveBy . . .

24-1. . 24-2 . . 24-3 . . . . . . 24-5 . 24-6 . 24-7 . 24-7 . 24-8

Utilisation des proprits Eof et Bof . . . . 24-9 Eof . . . . . . . . . . . . . . . . . . . . . . 24-9 Bof . . . . . . . . . . . . . . . . . . . . . 24-10 Marquage denregistrements . . . . . . . 24-10 La proprit Bookmark . . . . . . . . . .24-11 La mthode GetBookmark . . . . . . . .24-11 Les mthodes GotoBookmark et BookmarkValid . . . . . . . . . . . .24-11 La mthode CompareBookmarks . . . .24-11 La mthode FreeBookmark. . . . . . . .24-11 Un exemple dutilisation de signets. . .24-11 Recherche dans les ensembles de donnes . 24-12 Utilisation de la mthode Locate . . . . . 24-12 Utilisation de la mthode Lookup . . . . 24-13 Affichage et dition densembles de donnes en utilisant des filtres . . . . . 24-14 Activation et dsactivation des filtres . . 24-15 Cration de filtres . . . . . . . . . . . . . . 24-15 Dfinition de la proprit Filter . . . . 24-16 Ecriture dun gestionnaire dvnement OnFilterRecord . . . . . . . . . . . . . 24-17 Permutation entre les gestionnaires dvnements filtre lexcution . . 24-18 Dfinition doptions de filtre . . . . . . . 24-18 Navigation parmi les enregistrements dun ensemble de donnes filtr . . . . 24-19 Modification des donnes . . . . . . . . . . . 24-20 Modification denregistrements . . . . . . 24-20 Ajout de nouveaux enregistrements . . . 24-21 Insertion denregistrements . . . . . . 24-22 Ajout denregistrements la fin . . . . 24-23 Suppression denregistrements . . . . . . 24-23 Validation des donnes. . . . . . . . . . . 24-24 Annulation des modifications . . . . . . . 24-24 Modification denregistrements entiers. . 24-25 Champs calculs . . . . . . . . . . . . . . . . 24-26 Types densembles de donnes . . . . . . . . 24-27 Utilisation densembles de donnes de type table. . . . . . . . . . . . . . . . . . 24-29 Avantages de lutilisation des ensembles de donnes de type table. . . . . . . . . 24-30 Tri des enregistrements avec des index . 24-30 Obtention dinformations sur les index . . . . . . . . . . . . . . 24-31 Spcification dun index avec IndexName . . . . . . . . . . . . 24-31 Cration dun index avec IndexFieldNames . . . . . . . . 24-32

xii

Utilisation dindex pour chercher des enregistrements . . . . . . . . . . . . 24-32 Excution dune recherche avec les mthodes Goto . . . . . . . . 24-33 Excution dune recherche avec les mthodes Find . . . . . . . . 24-34 Spcification de lenregistrement en cours aprs une recherche russie . . . . . . 24-34 Recherche sur des cls partielles . . . . 24-35 Ritration ou extension dune recherche . . . . . . . . . . . . . 24-35 Limitation des enregistrements avec des portes . . . . . . . . . . . . . . 24-35 Prsentation des diffrences entre les portes et les filtres. . . . . . 24-36 Spcification de portes . . . . . . . . . 24-36 Modification dune porte. . . . . . . . 24-39 Application ou annulation dune porte . . . . . . . . . . . . . . . 24-40 Cration de relations matre/dtail . . . . 24-40 Comment faire de la table la partie dtail dun autre ensemble de donnes . . . 24-41 Utilisation de tables dtail imbriques. 24-43 Contrle des accs en lecture/criture aux tables . . . . . . . . . . . . . . . . . . 24-44 Cration et suppression des tables. . . . . 24-44 Cration de tables . . . . . . . . . . . . 24-45 Suppression de tables . . . . . . . . . . 24-47 Vidage des tables. . . . . . . . . . . . . . . 24-48 Synchronisation des tables . . . . . . . . . 24-48 Utilisation densembles de donnes de type requte. . . . . . . . . . . . . . . . . 24-49 Spcification de la requte . . . . . . . . . 24-50 Spcification dune requte en utilisant la proprit SQL. . . . . . . . . . . . . 24-51 Spcification dune requte en utilisant la proprit CommandText . . . . . . 24-51 Utilisation de paramtres dans les requtes . . . . . . . . . . . . . . 24-52 Fourniture des paramtres pendant la conception . . . . . . . . . 24-53 Fourniture des paramtres pendant lexcution. . . . . . . . . . . 24-54 Etablissement de relations matre/dtail en utilisant des paramtres . . . . . . . . 24-55 Prparation des requtes . . . . . . . . . . 24-56 Excution de requtes qui ne renvoient pas densemble de rsultats . . . . . . . . 24-57

Utilisation densembles de rsultats unidirectionnels . . . . . . . . . . . . . . Utilisation densembles de donnes de type procdure stocke . . . . . . . . . . Utilisation de paramtres avec les procdures stockes. . . . . . . Dfinition des paramtres p endant la conception . . . . . . . . . Utilisation des paramtres pendant lexcution . . . . . . . . . . Prparation des procdures stockes . . . Excution de procdures stockes qui ne renvoient pas densemble de rsultats . Lecture de plusieurs ensembles de rsultats . . . . . . . . . . . . . . . . .

24-57 24-58 24-59 24-60 24-62 24-63 24-63 24-64

Chapitre 25

Manipulation des composants champ

25-1

Composants champ dynamique . . . . . . . . 25-2 Champs persistants. . . . . . . . . . . . . . . . 25-3 Cration de champs persistants . . . . . . . 25-4 Modification de lordre des champs persistants . . . . . . . . . . . 25-6 Dfinition de nouveaux champs persistants . . . . . . . . . . . . . 25-6 Dfinition dun champ de donnes . . . 25-7 Dfinition dun champ calcul. . . . . . 25-8 Programmation dun champ calcul . . 25-9 Dfinition dun champ de rfrence . 25-10 Dfinition dun champ agrgat . . . . 25-12 Suppression de champs persistants. . . . 25-12 Dfinition des vnements et des proprits des champs persistants . . . . . . . . . . 25-13 Dfinition des proprits daffichage et ddition en mode conception . . . 25-13 Dfinition des proprits des composants champ lexcution . . . . . . . . . . 25-15 Cration des ensembles dattributs pour les composants champ . . . . . 25-15 Association des ensembles dattributs aux composants champ . . . . . . . . 25-16 Suppression des associations densembles dattributs . . . . . . . . 25-17 Contrle ou dissimulation de la saisie utilisateur . . . . . . . . . 25-17 Utilisation des formats par dfaut pour les champs numriques, date et heure . 25-18 Gestion des vnements . . . . . . . . 25-18

xiii

Manipulation des mthodes de champ lors de lexcution . . . . . . . . . . . . . . . 25-19 Affichage, conversion et accs aux valeurs des champs . . . . . . . . . . . . . . . . . . . 25-20 Affichage de valeurs dans les contrles standard . . . . . . . . 25-21 Conversion des valeurs de champs . . . . 25-21 Accs des valeurs par la proprit par dfaut dun ensemble de donnes. . 25-23 Accs des valeurs par la proprit Fields dun ensemble de donnes . . . . . . . . 25-23 Accs des valeurs par la mthode FieldByName dun ensemble de donnes . . . . . . . . . . . . . . . . . 25-24 Dfinition de la valeur par dfaut dun champ . . . . . . . . . . . . . . . . . . . 25-24 Utilisation de contraintes . . . . . . . . . . . . 25-25 Cration de contrainte personnalise . . . 25-25 Utilisation des contraintes du serveur . . 25-25 Utilisation des champs objet . . . . . . . . . . 25-26 Affichage des champs ADT et tableau . . 25-27 Utilisation des champs ADT . . . . . . . . 25-27 Utilisation de composants champ persistant . . . . . . . . . . . . 25-28 Utilisation de la mthode FieldByName dun ensemble de donnes . . . . . . 25-28 Utilisation de la proprit FieldValues dun ensemble de donnes . . . . . . 25-28 Utilisation de la proprit FieldValues dun champ ADT . . . . . . . . . . . . 25-29 Utilisation de la proprit Fields dun champ ADT . . . . . . . . . . . . 25-29 Utilisation des champs tableau. . . . . . . 25-29 Utilisation de champs persistants . . . 25-29 Utilisation de la proprit FieldValues dun champ tableau . . . . . . . . . . 25-30 Utilisation de la proprit Fields dun champ tableau . . . . . . . . . . 25-30 Utilisation des champs ensemble de donnes . . . . . . . . . . . . . . . . . 25-30 Affichage des champs ensemble de donnes. . . . . . . . . . . . . . . . 25-30 Accs aux donnes dun ensemble de donnes imbriqu . . . . . . . . . . 25-31 Utilisation de champs de rfrence . . . . 25-31 Affichage des champs de rfrence . . 25-31 Accs aux donnes dun champ de rfrence . . . . . . . . . . . . . . . 25-32

Chapitre 26

Utilisation du moteur de bases de donnes Borland

26-1

Architecture BDE . . . . . . . . . . . . . . . . . 26-1 Utilisation densembles de donnes BDE . 26-2 Association dun ensemble de donnes avec les connexions de bases de donnes et de session . . . . . . . . 26-3 Mise en cache des BLOBS . . . . . . . . 26-4 Obtention dun handle BDE . . . . . . . 26-4 Utilisation de TTable . . . . . . . . . . . . . 26-5 Spcification du type dune table locale . . . . . . . . . . . . . . . . . . . 26-6 Contrle daccs en lecture/criture aux tables locales. . . . . . . . . . . . . 26-6 Spcification dun fichier dindex dBASE . . . . . . . . . . . . . . 26-7 Renommer une table locale . . . . . . . 26-8 Importation des donnes dune autre table . . . . . . . . . . . . . 26-8 Utilisation de TQuery . . . . . . . . . . . . 26-9 Cration de requtes htrognes . . . 26-10 Obtention dun ensemble de rsultats modifiable. . . . . . . . . . . . . . . . .26-11 Mise jour des ensembles de rsultats en lecture seule . . . . . 26-12 Utilisation de TStoredProc . . . . . . . . . 26-13 Liaison des paramtres . . . . . . . . . 26-13 Manipulation des procdures stockes redfinies dOracle . . . . . . . . . . . 26-13 Connexion aux bases de donnes avec TDatabase . . . . . . . . . . . . . . 26-14 Association dun composant base de donnes une session . . . . . . . 26-14 Interactions entre les composants base de donnes et session . . . . . . 26-15 Identification de la base de donnes . 26-15 Ouverture dune connexion avec TDatabase. . . . . . . . . . . . . 26-17 Utilisation des composants base de donnes dans les modules de donnes . . . . 26-18 Gestion des sessions de bases de donnes . . . . . . . . . . . 26-18 Activation dune session . . . . . . . . 26-20 Spcification du comportement de la connexion de base de donnes par dfaut . . . . . . . . . . . . . . . . 26-21 Gestion des connexions de bases de donnes . . . . . . . . . . . . . . . 26-21 xiv

Manipulation des tables Paradox et dBASE protges par mot de passe . . . . . . 26-24 Spcification des rpertoires Paradox . 26-27 Manipulation des alias BDE. . . . . . . 26-28 Rcupration des informations dune session . . . . . . . . . . . . . . 26-30 Cration de sessions supplmentaires . 26-31 Affectation dun nom une session . . 26-32 Gestion de sessions multiples. . . . . . 26-32 Utilisation des transactions avec le BDE . . . 26-34 Utilisation du SQL transparent. . . . . . . 26-35 Utilisation de transactions locales . . . . . 26-36 Utilisation du BDE pour placer en mmoire cache les mises jour. . . . . . 26-37 Activation des mises jour BDE en mmoire cache . . . . . . . . . . . . . 26-38 Application des mises jour BDE en mmoire cache . . . . . . . . . . . . . 26-39 Application des mises jour en mmoire cache avec une base de donnes . . . 26-40 Application des mises jour en mmoire cache avec les mthodes de composant base de donnes . . . . . . . . . . . . . 26-41 Cration dun gestionnaire dvnement OnUpdateRecord . . . . . . . . . . . . 26-42 Gestion des erreurs de mise jour en mmoire cache. . . . . . . . . . . . 26-43 Utilisation dobjets mise jour pour mettre jour un ensemble de donnes. . . . . . 26-45 Cration dinstructions SQL pour les composants mise jour . . . 26-46 Utilisation de plusieurs objets mise jour . . . . . . . . . . . . . . . . 26-51 Excution des instructions SQL. . . . . 26-52 Utilisation de TBatchMove . . . . . . . . . . . 26-55 Cration dun composant action groupe. 26-56 Spcification dun mode daction groupe . . . . . . . . . . . . . . 26-57 Ajout denregistrements la fin . . . . 26-57 Mise jour des enregistrements . . . . 26-57 Ajout et mise jour denregistrements . . . . . . . . . . . . 26-58 Copie densembles de donnes . . . . . 26-58 Suppression denregistrements . . . . . 26-58 Mappage des types de donnes . . . . . . 26-58 Excution dune action groupe . . . . . . 26-59 Gestion des erreurs relatives aux actions groupes. . . . . . . . . . . . 26-60

Dictionnaire de donnes . . . . . . . . . . . . 26-61 Outils de manipulation du BDE . . . . . . . 26-62

Chapitre 27

Utilisation des composants ADO

27-1

Prsentation des composants ADO . . . . . . 27-1 Connexion des stockages de donnes ADO . . . . . . . . . . . . . . . . . . . . . . . 27-2 Connexion un stockage de donnes avec TADOConnection . . . . . . . . . . . 27-3 Accs lobjet connexion . . . . . . . . . 27-5 Optimisation dune connexion . . . . . . . 27-5 Connexions asynchrones . . . . . . . . . 27-5 Contrle des dpassements de dlais . . 27-6 Indication des types doprations pris en charge par la connexion . . . . 27-6 Spcification de lexcution automatique des transactions par la connexion . . . 27-7 Accs aux commandes dune connexion. . 27-8 Evnements connexion ADO . . . . . . . . 27-8 Evnements se produisant pendant ltablissement dune connexion . . . . 27-8 Evnements se produisant pendant la dconnexion . . . . . . . . . . . . . . 27-9 Evnements se produisant pendant la gestion des transactions . . . . . . . 27-9 Autres vnements . . . . . . . . . . . . 27-9 Utilisation des ensembles de donnes ADO . 27-9 Connexion dun ensemble de donnes ADO un stockage de donnes . . . 27-10 Utilisation des ensembles denregistrements . . . . . . . . . . . .27-11 Filtrage denregistrements partir de signets . . . . . . . . . . . . . . . . 27-12 Lecture denregistrements de faon asynchrone . . . . . . . . . . . . . . . 27-13 Utilisation des mises jour groupes. 27-13 Lecture et enregistrement des donnes dans des fichiers . . . . . . . . . . . . 27-16 Utilisation de TADODataSet. . . . . . . . 27-17 Utilisation dobjets commande . . . . . . . . 27-19 Spcification de la commande. . . . . . . 27-19 Utilisation de la mthode Execute . . . . 27-20 Annulation des commandes . . . . . . . . 27-21 Rcupration densembles de rsultats laide de commandes . . . . . . . . . . 27-21 Gestion des paramtres de commande. . 27-22

xv

Chapitre 28

Chapitre 29

Utilisation densembles de donnes unidirectionnels 28-1Types densembles de donnes unidirectionnels . . . . . . . . . . . . . . . . . 28-2 Connexion au serveur de bases de donnes . . 28-3 Configuration de TSQLConnection . . . . . 28-4 Identification du pilote . . . . . . . . . . 28-4 Spcification des paramtres de connexion . . . . . . . . . . . . . . . 28-4 Dnomination dune description de connexion . . . . . . . . . . . . . . . 28-5 Utilisation de lditeur de connexion . . 28-6 Spcification des donnes afficher . . . . . . 28-6 Reprsentation des rsultats dune requte . . . . . . . . . . . . . . . . . 28-7 Reprsentation des enregistrements dune table . . . . . . . . . . . . . . . . . . 28-7 Reprsentation dune table en utilisant TSQLDataSet . . . . . . . . . . . . . . . 28-8 Reprsentation dune table en utilisant TSQLTable . . . . . . . . . . . . . . . . . 28-8 Reprsentation des rsultats dune procdure stocke. . . . . . . . . . . 28-8 Rcupration des donnes . . . . . . . . . . . . 28-9 Prparation de lensemble de donnes . . 28-10 Rcupration de plusieurs ensembles de donnes . . . . . . . . . . . . . . . . . 28-10 Excution des commandes ne renvoyant pas denregistrement . . . . . . . . . . . . . 28-11 Spcification de la commande excuter. 28-11 Excution de la commande . . . . . . . . . 28-12 Cration et modification des mtadonnes du serveur . . . . . . . . . . . . . . . . . . 28-12 Dfinition de curseurs lis matre/dtail . . . 28-13 Accs aux informations de schma . . . . . . 28-14 Rcupration de mtadonnes dans un ensemble de donnes unidirectionnel . . 28-14 Lecture des donnes aprs lutilisation de lensemble de donnes pour des mtadonnes . . . . . . . . . 28-16 Structure des ensembles de mtadonnes. . . . . . . . . . . . . 28-16 Dbogage dapplications dbExpress. . . . . . 28-20 Utilisation de TSQLMonitor pour contrler les commandes SQL . . . . . . . . . . . . 28-20 Utilisation dun callback pour contrler les commandes SQL . . . . . . . . . . . . 28-21

Utilisation densembles de donnes client

29-1

Manipulation des donnes avec un ensemble de donnes client . . . . . . . . . . . . . . . . 29-2 Navigation parmi les donnes des ensembles de donnes client . . . . . . . . . . . . . . 29-2 Limitation des enregistrements affichs . . 29-3 Edition des donnes . . . . . . . . . . . . . 29-5 Annulation des modifications . . . . . . 29-6 Enregistrement des modifications . . . . 29-7 Dfinition de contraintes pour les valeurs des donnes . . . . . . . . . . . . . . . . . 29-8 Spcification de contraintes personnalises . . . . . . . . . . . . . . 29-8 Tri et indexation . . . . . . . . . . . . . . . . 29-9 Ajout dun nouvel index . . . . . . . . . 29-9 Suppression et permutation dindex . .29-11 Utilisation des index pour regrouper les donnes . . . . . . . . . . . . . . . .29-11 Reprsentation des valeurs calcules . . . 29-12 Utilisation de champs calculs de faon interne dans les ensembles de donnes client. . . . . . . . . . . . 29-12 Utilisation des agrgats maintenus . . . . 29-13 Spcification dagrgats. . . . . . . . . 29-13 Agrgats de groupes denregistrements . . . . . . . . . . . 29-15 Obtention de valeurs dagrgat . . . . 29-16 Copie de donnes dun autre ensemble de donnes . . . . . . . . . . . . . . . . . 29-16 Affectation directe des donnes . . . . 29-16 Clonage dun curseur densemble de donnes client . . . . . . . . . . . 29-17 Ajout dinformations dapplication aux donnes . . . . . . . . . . . . . . . . 29-18 Utilisation dun ensemble de donnes client pour mettre en cache les mises jour . . . 29-18 Prsentation de lutilisation dun cache pour les mises jour . . . . . . . . . . . 29-19 Choix du type densemble de donnes pour les mises jour en cache . . . . . . 29-21 Indication des enregistrements modifis . 29-22 Mise jour des enregistrements . . . . . 29-23 Application des mises jour. . . . . . 29-24 Intervention pendant lapplication des mises jour . . . . . . . . . . . . 29-25 Conciliation des erreurs de mise jour . . . . . . . . . . . . . 29-27 xvi

Utilisation dun ensemble de donnes client avec un fournisseur . . . . . . . . . . . . . . 29-29 Spcification dun fournisseur . . . . . . . 29-29 Extraction des donnes dans lensemble de donnes ou le document source . . . 29-31 Extractions incrmentales . . . . . . . . 29-31 Extraction la demande . . . . . . . . . 29-32 Obtention des paramtres de lensemble de donnes source . . . . . . . . . . . . . 29-32 Transmission de paramtres lensemble de donnes source . . . . . . . . . . . . . 29-33 Envoi de paramtres de requte ou de procdure stocke . . . . . . . . 29-34 Limitation des enregistrements avec des paramtres . . . . . . . . . . 29-34 Gestion des contraintes lies au serveur . 29-35 Rafrachissement des enregistrements. . . 29-36 Communication avec des fournisseurs laide dvnements personnaliss . . . 29-37 Redfinition de lensemble de donnes source . . . . . . . . . . . . . . . . . . . . 29-38 Utilisation dun ensemble de donnes client avec des donnes bases sur des fichiers . . 29-39 Cration dun nouvel ensemble de donnes . . . . . . . . . . . . . . . . . 29-39 Chargement des donnes depuis un fichier ou un flux . . . . . . . . . . . . . . . . . . 29-40 Fusion des modifications dans les donnes . . . . . . . . . . . . . . 29-40 Sauvegarde des donnes dans un fichier ou un flux . . . . . . . . . . . . . . . . . . 29-41 Utilisation dun ensemble de donnes simple . . . . . . . . . . . . . . . . . . . . . . 29-42 Quand faut-il utiliser TSimpleDataSet ? . 29-42 Installation dun ensemble de donnes simple . . . . . . . . . . . . . . . . . . . . 29-43

Contrle des informations places dans les paquets de donnes . . . . . . . . . 30-5 Spcifier les champs apparaissant dans les paquets de donnes . . . . . . . 30-5 Initialisation des options contrlant les paquets de donnes . . . . . . . . . . . 30-6 Ajout dinformations personnalises aux paquets de donnes . . . . . . . . . . 30-7 Comment rpondre aux demandes de donnes des clients . . . . . . . . . . . . . 30-8 Comment rpondre aux demandes de mise jour des clients . . . . . . . . . . . 30-9 Modification des paquets delta avant la mise jour de la base de donnes . . 30-10 Comment contrler lapplication des mises jour . . . . . . . . . . . . . . .30-11 Filtrage des mises jour . . . . . . . . . . 30-12 Rsolution des erreurs de mise jour par le fournisseur . . . . . . . . . . . . . 30-13 Application des mises jour des ensembles de donnes reprsentant plusieurs tables. . . . . . . 30-13 Comment rpondre aux vnements gnrs par le client . . . . . . . . . . . . . . . . . . 30-14 Gestion des contraintes du serveur . . . . . 30-15

Chapitre 31

Cration dapplications multiniveaux

31-1

Chapitre 30

Utilisation des composants fournisseurSpcification de la source de donnes . . . . Utilisation dun ensemble de donnes comme source des donnes . . . . . . . . Utilisation dun document XML comme source des donnes . . . . . . . . Communication avec lensemble de donnes client . . . . . . . . . . . . . . . . . . . . . . . Dtermination du mode dapplication des mises jour laide dun fournisseur densemble de donnes . . . . . . . . . . . .

30-1. 30-2 . 30-2 . 30-3 . 30-3

Avantages du modle de base de donnes multiniveau . . . . . . . . . . . . . . . . . . . 31-2 Prsentation des applications de bases de donnes multiniveaux . . . . . . 31-3 Prsentation dune application niveau triple . . . . . . . . . . . . . . . . 31-4 Structure de lapplication client . . . . . . . 31-5 Structure du serveur dapplications . . . . 31-5 Contenu du module de donnes distant . . . . . . . . . . . . . . . . . . . 31-6 Utilisation des modules de donnes transactionnels . . . . . . . 31-7 Regroupement des modules de donnes distants . . . . . . . . . . . . . . . . . . 31-9 Slection dun protocole de connexion . . 31-10 Utilisation de connexions DCOM . . . 31-10 Utilisation de connexions Socket . . . 31-10 Utilisation de connexions Web. . . . . .31-11 Utilisation de connexions SOAP. . . . 31-12 Construction dune application multiniveau 31-12

. 30-4 xvii

Cration du serveur dapplications . . . . . . 31-12 Configuration du module de donnes distant . . . . . . . . . . . . . . . . . . . . 31-14 Configuration de TRemoteDataModule . . . . . . . . 31-15 Configuration de TMTSDataModule. . 31-16 Configuration de TSoapDataModule . 31-17 Extension de linterface du serveur dapplications . . . . . . . . . . . . . . . . 31-18 Ajout de rappels linterface du serveur dapplications . . . . . . . . . 31-18 Extension de linterface dun serveur dapplications transactionnel . . . . . 31-19 Gestion des transactions dans les applications multiniveaux . . . 31-19 Gestion des relations matre/dtail . . . . 31-20 Gestion des informations dtat dans les modules de donnes distants . 31-21 Utilisation de plusieurs modules de donnes distants . . . . . . . . . . . . 31-23 Recensement du serveur dapplications . . . 31-24 Cration de lapplication client . . . . . . . . 31-24 Connexion au serveur dapplications . . . 31-25 Spcification dune connexion laide de DCOM . . . . . . . . . . . 31-26 Spcification dune connexion laide de sockets . . . . . . . . . . . 31-26 Spcification dune connexion laide de HTTP . . . . . . . . . . . . 31-28 Spcification dune connexion laide de SOAP . . . . . . . . . . . . 31-28 Courtage de connexions . . . . . . . . . 31-29 Gestion des connexions serveur . . . . . . 31-30 Connexion au serveur . . . . . . . . . . 31-30 Fermeture ou changement de connexion serveur. . . . . . . . . . 31-30 Appel des interfaces serveur . . . . . . . . 31-31 Utilisation de la liaison anticipe avec DCOM . . . . . . . . . . . . . . . 31-31 Utilisation des interfaces de rpartition avec TCP/IP ou HTTP . . . . . . . . . 31-32 Appel de linterface dun serveur SOAP . . . . . . . . . . . 31-32 Connexion un serveur dapplications qui utilise plusieurs modules de donnes . . 31-33 Ecriture des applications client Web . . . . . 31-34 Distribution dune application client en tant que contrle ActiveX . . . . . . . 31-35 Cration dune fiche active pour lapplication client . . . . . . . . . . . 31-35

Construction des applications Web avec InternetExpress . . . . . . . . . . . 31-36 Construction dune application InternetExpress . . . . . . . . . . . . . . 31-37 Utilisation des bibliothques javascript . . . . . . . . . . . . . . . . 31-38 Droits daccs au serveur dapplications et son lancement . . 31-39 Utilisation dun courtier XML . . . . . . . 31-40 Lecture des paquets de donnes XML . . . . . . . . . . . . . . . . . . . 31-40 Application des mises jour partir des paquets delta XML . . . . . . . . 31-41 Cration des pages Web avec un gnrateur de page InternetExpress . . . . . . . . . 31-42 Utilisation de lditeur de pages Web. 31-43 Dfinition des proprits des lments Web . . . . . . . . . . . 31-44 Personnalisation du modle dun gnrateur de page InternetExpress . . . . . . . . 31-45

Chapitre 32

Utilisation de XML dans les applications de bases de donnes 32-1Dfinition des transformations . . . . . . . . . 32-1 Correspondance entre les nuds XML et les champs du paquet de donnes . . . 32-2 Utilisation de XMLMapper . . . . . . . . . 32-4 Chargement dun schma XML ou dun paquet de donnes . . . . . . 32-5 Dfinition des mappages . . . . . . . . . 32-5 Gnration de fichiers de transformation . . . . . . . . . . . . 32-6 Conversion de documents XML en paquets de donnes . . . . . . . . . . . . . 32-7 Spcification du document XML source . . 32-7 Spcification de la transformation . . . . . 32-8 Obtention du paquet de donnes rsultant . . . . . . . . . . . . . . . . . . . 32-8 Conversion de nuds dfinis par lutilisateur . . . . . . . . . . . . . . . 32-8 Utilisation dun document XML comme source pour un fournisseur . . . . . . . . . . . . . . 32-9 Utilisation dun document XML comme client dun fournisseur . . . . . . . . . . . . . . . 32-10 Lecture dun document XML partir dun fournisseur . . . . . . . . . . . . . . 32-10 Application de mises jour dun document XML un fournisseur . . . . . . . . . . . 32-12

xviii

Partie III

Ecriture dapplications InternetChapitre 33

Cration dapplications serveur Internet

33-1

A propos de WebBroker et de WebSnap . . . . 33-1 Terminologie et normes . . . . . . . . . . . . . . 33-3 Composition dune URL (Uniform Resource Locator) . . . . . . . . 33-4 URI et URL . . . . . . . . . . . . . . . . . 33-4 En-tte de message de requte HTTP . . . . 33-4 Activit dun serveur HTTP . . . . . . . . . . . 33-5 Composition des requtes client . . . . . . . 33-5 Traitement des requtes client par le serveur . . . . . . . . . . . . . . . . . 33-6 Rponses aux requtes client . . . . . . . . . 33-6 Types dapplications serveur Web . . . . . . . . 33-7 ISAPI et NSAPI . . . . . . . . . . . . . . . 33-7 CGI autonome . . . . . . . . . . . . . . . 33-7 Apache . . . . . . . . . . . . . . . . . . . . 33-7 Dbogueur dapplication Web . . . . . . 33-8 Conversion des types cibles dapplications serveur Web . . . . . . . . . 33-8 Dbogage dapplications serveur . . . . . . . . 33-9 Utilisation du dbogueur dapplication Web . . . . . . . . . . . . . . 33-9 Dmarrage de lapplication avec le dbogueur dapplication Web . . . . . 33-10 Conversion de votre application en un autre type dapplication serveur Web . . . . 33-10 Dbogage dapplications Web sous forme de DLL. . . . . . . . . . . . . . . . . . . . 33-11 Droits des utilisateurs ncessaires au dbogage des DLL . . . . . . . . . 33-11

Chapitre 34

Utilisation de WebBrokerCration dapplications serveur Web avec WebBroker . . . . . . . . . . . . . Le module Web. . . . . . . . . . . . . Objet application Web . . . . . . . . . Structure dune application WebBroker. Rpartiteur Web . . . . . . . . . . . . . . Ajout dactions au rpartiteur . . . . Rpartition des messages de requte . . . . . . . . . . . . . . . . . . . . .

34-1. 34-1 . 34-2 . 34-3 . 34-3 . 34-4 . 34-5 . 34-5

Elments daction . . . . . . . . . . . . . . . . . 34-6 Choix du dclenchement des lments daction . . . . . . . . . . . . . . . . . . . . 34-6 URL de destination . . . . . . . . . . . . 34-6 Type de mthode de requte. . . . . . . 34-7 Activation et dsactivation des lments daction . . . . . . . . . . . . . . . . . . 34-7 Choix dun lment daction par dfaut . . . . . . . . . . . . . . . . . 34-7 Rponse aux messages de requte avec des lments daction . . . . . . . . . 34-8 Envoi de la rponse . . . . . . . . . . . . 34-9 Utilisation de plusieurs lments daction . . . . . . . . . . . . . . . . . . 34-9 Accs aux informations de requtes client . . 34-9 Proprits contenant des informations den-tte de requte . . . . . . . . . . . . . 34-9 Proprits identifiant la destination. . 34-10 Proprits dcrivant le client Web. . . 34-10 Proprits identifiant le but de la requte . . . . . . . . . . . . . . 34-10 Proprits dcrivant la rponse attendue . . . . . . . . . . . . . . . . . .34-11 Proprits dcrivant le contenu . . . . .34-11 Contenu dun message de requte HTTP .34-11 Cration de messages de rponse HTTP . . .34-11 Informations den-tte de rponse . . . . 34-12 Indication du statut de la rponse . . 34-12 Indication dattente dune action du client. . . . . . . . . . . . . . . . . 34-12 Description de lapplication serveur . 34-12 Description du contenu . . . . . . . . . 34-13 Dfinition du contenu de la rponse . . . 34-13 Envoi de la rponse. . . . . . . . . . . . . 34-13 Gnration du contenu des messages de rponse . . . . . . . . . . . . . . . . . . . 34-14 Utilisation du composant gnrateur de page . . . . . . . . . . . . . . . . . . . 34-14 Modles HTML . . . . . . . . . . . . . 34-14 Choix du modle HTML . . . . . . . . 34-15 Conversion des balises HTML transparentes . . . . . . . . . . . . . . 34-16 Utilisation du gnrateur de page depuis un lment daction. . . . . . 34-16 Chanage de gnrateurs de page . . . 34-17 Utilisation des bases de donnes dans les rponses . . . . . . . . . . . . . . . 34-18 Ajout dune session au module Web . . . 34-19

xix

Reprsentation HTML dune base de donnes . . . . . . . . . . Utilisation des gnrateurs de page ensemble de donnes. . . . . . . . . . Utilisation des gnrateurs de tableau. Choix des attributs de tableau . . . . . Choix des attributs de lignes . . . . . . Choix des attributs de colonnes . . . . Incorporation de tableaux dans un document HTML . . . . . . . Configuration dun gnrateur de tableau ensemble de donnes . . . Configuration dun gnrateur de tableau requte . . . . . . . . . . .

34-19 34-19 34-20 34-20 34-21 34-21 34-21 34-21 34-22

Chapitre 35

Cration dapplications serveur Web avec WebSnap 35-1Composants WebSnap fondamentaux . . . . . 35-2 Modules Web . . . . . . . . . . . . . . . . . . 35-2 Types de module dapplication Web . . . 35-3 Modules de page Web . . . . . . . . . . . 35-4 Modules de donnes Web . . . . . . . . . 35-5 Adaptateurs . . . . . . . . . . . . . . . . . . . 35-6 Champs . . . . . . . . . . . . . . . . . . . 35-6 Actions . . . . . . . . . . . . . . . . . . . . 35-6 Erreurs . . . . . . . . . . . . . . . . . . . . 35-7 Enregistrements . . . . . . . . . . . . . . . 35-7 Gnrateurs de page . . . . . . . . . . . . . . 35-7 Cration dapplications serveur Web avec WebSnap . . . . . . . . . . . . . . . . . . 35-8 Slection dun type de serveur . . . . . . . . 35-9 Spcification des composants du module dapplication . . . . . . . . . . . . . . . . . 35-9 Slection des options du module dapplication Web . . . . . . . . . . . . . 35-11 Conception HTML avance . . . . . . . . . . 35-12 Manipulation de script ct serveur dans des fichiers HTML . . . . . . . . . . 35-13 Prise en charge des ouvertures de sessions . 35-14 Ajout dune prise en charge des ouvertures de sessions. . . . . . . . . . . . . . . . . . 35-14 Utilisation du service de sessions . . . . . 35-16 Pages de connexion . . . . . . . . . . . . . 35-16 Configuration des pages ncessitant des connexions . . . . . . . . . . . . . . . 35-18 Droits daccs utilisateur . . . . . . . . . . 35-19 Affichage dynamique des champs sous la forme de zones de saisie ou de texte . . . . . . . . . . . . . . . . 35-19 xx

Masquage des champs et de leur contenu . . . . . . . . . . . 35-20 Interdiction daccs la page . . . . . 35-21 Utilisation de scripts ct serveur avec WebSnap . . . . . . . . . . . . . . . . . 35-21 Scripts actifs . . . . . . . . . . . . . . . . . 35-22 Moteur de script. . . . . . . . . . . . . . . 35-22 Blocs de script . . . . . . . . . . . . . . . . 35-23 Cration de scripts . . . . . . . . . . . . . 35-23 Experts modles . . . . . . . . . . . . . 35-23 TAdapterPageProducer . . . . . . . . . 35-23 Modification et visualisation des scripts . 35-23 Comment inclure un script dans une page . . . . . . . . . . . . . . . 35-24 Objets de script . . . . . . . . . . . . . . . 35-24 Rpartition des requtes et des rponses . . 35-25 Composants rpartiteur . . . . . . . . . . 35-25 Fonctions dun rpartiteur dadaptateur . 35-26 Utilisation de composants dadaptateur pour gnrer du contenu . . . . . . . 35-26 Rception de requtes de ladaptateur et gnration des rponses . . . . . . 35-27 Requte dimage . . . . . . . . . . . . . 35-29 Rponse dimage. . . . . . . . . . . . . 35-29 Rpartition des lments daction. . . . . 35-30 Fonctions du rpartiteur de page . . . . . 35-30

Chapitre 36

Cration dapplications serveur Web avec IntraWeb 36-1Utilisation des composants IntraWeb . . . . Introduction IntraWeb . . . . . . . . . . . . Cration dune nouvelle application IntraWeb . . . . . . . . . . . . . . . . . . Modification de la fiche principale . . . . Ecriture dun gestionnaire dvnement pour le bouton . . . . . . . . . . . . . . . Excution de lapplication complte . . . Utilisation de IntraWeb avec WebBroker et WebSnap. . . . . . . . . . . . . . . . . . . Pour plus dinformations . . . . . . . . . . . . 36-2 . 36-3 . 36-4 . 36-4 . 36-5 . 36-6 . 36-7 . 36-8

Chapitre 37

Utilisation de documents XMLUtilisation du modle DOM . . . . . . . . Utilisation des composants XML . . . . . . Utilisation de TXMLDocument . . . . . Utilisation des nuds XML . . . . . . . Utilisation de la valeur dun nud . . . . . .

37-1. . . . . 37-2 37-4 37-4 37-4 37-5

Utilisation des attributs dun nud . . . 37-5 Ajout et suppression de nuds enfant . 37-6 Abstraction de documents XML avec lexpert Liaison de donnes. . . . . . . . . . . . . . . . 37-6 Utilisation de lexpert Liaison de donnes XML . . . . . . . . . . . . . . . . . . . . . . 37-8 Utilisation du code gnr par lexpert Liaison de donnes XML . . . . . . . . . . 37-9

Appel des interfaces invocables . . . . . Obtention dune interface invocable partir de la fonction gnre . . . Utilisation dun objet interfac distant . . . . . . . . . . . . . . . . . Traitement des en-ttes dans les applications client. . . . . . .

. 38-22 . 38-22 . 38-23 . 38-24

Chapitre 38

Chapitre 39

Utilisation de services WebPrsentation des interfaces invocables . . . . Utilisation de types non scalaires dans des interfaces invocables . . . . . . Recensement des types non scalaires . Emploi dobjets distants . . . . . . . . . Reprsentation des attachements . . . . Gestion de la dure de vie des objets distants . . . . . . . . . . . . . . . . . . Exemple dobjet distant . . . . . . . . . Conception de serveurs grant les services Web . . . . . . . . . . . . . . . . Conception dun serveur de service Web . Utilisation de lexpert dapplication SOAP. . . . . . . . . . . . . . . . . . . . . Ajout de nouveaux services Web . . . . . Modification du code gnr . . . . . . Utilisation dune classe de base diffrente . . . . . . . . . . . . Utilisation de limportateur de services Web. . . . . . . . . . . . . . . Recherche des services dentreprise . . . . Prsentation de UDDI . . . . . . . . . . Utilisation du navigateur UDDI . . . . Dfinition et utilisation des en-ttes SOAP . . . . . . . . . . . . . Dfinition de classes den-ttes . . . . . Envoi et rception den-ttes . . . . . . Communication de la structure de vos en-ttes aux autres applications. . . . Cration de classes dexception personnalises pour les services Web . . Gnration de documents WSDL pour une application de service Web . . Conception de clients pour les services Web . . . . . . . . . . . . . . . . . . . . . . . Importation de documents WSDL . . . . .

38-1. 38-2 . 38-4 . 38-5 . 38-6 . 38-7 . 38-8 . 38-8 38-10 38-10 38-11 38-12 38-13 38-13 38-14 38-16 38-16 38-17 38-17 38-17 38-18 38-19 38-20 38-20 38-21 38-22

Utilisation des socketsImplmentation des services . . . . . . . . . Description des protocoles de services . . Communication avec les applications Services et ports . . . . . . . . . . . . . . . Types de connexions par socket . . . . . . . Connexions client . . . . . . . . . . . . . . Connexions dcoute . . . . . . . . . . . . Connexions serveur . . . . . . . . . . . . . Description des sockets . . . . . . . . . . . . Description des htes . . . . . . . . . . . . Choix entre le nom de lhte et son adresse IP . . . . . . . . . . . . Utilisation des ports . . . . . . . . . . . . Utilisation des composants socket . . . . . . Obtenir des informations sur la connexion . . . . . . . . . . . . . . Utilisation de sockets client . . . . . . . . Dsignation du serveur souhait . . . Formation de la connexion . . . . . . . Obtenir des informations sur la connexion . . . . . . . . . . . . Fermeture de la connexion . . . . . . . Utilisation de sockets serveur . . . . . . . Dsignation du port . . . . . . . . . . . Ecoute des requtes client . . . . . . . Connexion aux clients. . . . . . . . . . Fermeture des connexions serveur . . Rponse aux vnements socket . . . . . . . Evnements derreurs. . . . . . . . . . . . Evnements client . . . . . . . . . . . . . . Evnements serveur . . . . . . . . . . . . Evnements dcoute . . . . . . . . . . Evnements de connexions client . . . Lectures et critures sur des connexions socket . . . . . . . . . . . . . . . . . . . . . . Connexions non bloquantes . . . . . . . . Lecture et criture dvnements . . . Connexions bloquantes. . . . . . . . . . .

39-1. . . . . . . . . . 39-1 39-2 39-2 39-2 39-3 39-3 39-3 39-3 39-4 39-4

. 39-5 . 39-5 . 39-6 . . . . 39-6 39-6 39-7 39-7

. 39-7 . 39-7 . 39-7 . 39-8 . 39-8 . 39-8 . 39-8 . 39-8 . 39-9 . 39-9 . 39-9 . 39-9 39-10 39-10 39-10 .39-11 .39-11

xxi

Partie IV

Dveloppement dapplications COMChapitre 40

Prsentation des technologies COMCOM, spcification et implmentation Extensions de COM . . . . . . . . . . . Composantes dune application COM . . . . Interfaces COM. . . . . . . . . . . . . . . . Linterface COM de base, IUnknown . Pointeurs dinterface COM . . . . . . . Serveurs COM . . . . . . . . . . . . . . . . CoClasses et fabricants de classes . . . Serveurs en processus, hors processus et distants . . . . . . . . . . . . . . . . Le mcanisme du marshaling. . . . . . Agrgation. . . . . . . . . . . . . . . . . Clients COM . . . . . . . . . . . . . . . . . Extensions de COM . . . . . . . . . . . . . . . Serveurs Automation . . . . . . . . . . . . Pages Active Server . . . . . . . . . . . . . Contrles ActiveX . . . . . . . . . . . . . . Documents Active . . . . . . . . . . . . . . Objets transactionnels . . . . . . . . . . . . Bibliothques de types . . . . . . . . . . . Contenu dune bibliothque de types . Cration de bibliothques de types . . Quand utiliser les bibliothques de types . . . . . . . . . . . . . . . . . Accs aux bibliothques de types . . . Avantages des bibliothques de types . Utilisation des outils de bibliothques de types . . . . . . . Implmentation des objets COM laide dexperts . . . . . . . . . . . . . . . . Code gnr par les experts . . . . . . . .

40-1. 40-2 . 40-2 . 40-3 . 40-3 . 40-4 . 40-5 . 40-5 . 40-6 . 40-7 . 40-9 . 40-9 40-10 40-11 40-13 40-14 40-14 40-15 40-15 40-16 40-17 40-17 40-18 40-18 40-19 40-19 40-20 40-23

Chapitre 41

Utilisation des bibliothques de typesEditeur de bibliothques de types. . . . . . . Composants de lditeur de bibliothques de types . . . . . . . . . . . . . . . . . . . Barre doutils . . . . . . . . . . . . . . . Volet liste des objets . . . . . . . . . . .

41-1. 41-2 . 41-3 . 41-4 . 41-5

Barre dtat . . . . . . . . . . . . . . . . . 41-6 Pages dinformations de type . . . . . . 41-6 Elments dune bibliothque de types . . . 41-9 Interfaces . . . . . . . . . . . . . . . . . . 41-9 Dispinterfaces . . . . . . . . . . . . . . 41-10 CoClasses . . . . . . . . . . . . . . . . . .41-11 Dfinitions de types . . . . . . . . . . . .41-11 Modules. . . . . . . . . . . . . . . . . . 41-12 Utilisation de lditeur de bibliothques de types. . . . . . . . . . . . . . . . . . . 41-12 Types autoriss. . . . . . . . . . . . . . 41-13 Utilisation de la syntaxe Delphi ou IDL. . . . . . . . . . . . . . . . . . 41-15 Cration dune nouvelle bibliothque de types . . . . . . . . . . . . . . . . . 41-21 Ouverture dune bibliothque de types existante . . . . . . . . . . . . . . . . . 41-21 Ajout dune interface une bibliothque de types . . . . . . . . . . . . . . . . . 41-22 Modification dune interface en utilisant la bibliothque de types . . . . . . . 41-22 Ajout de proprits et mthodes une interface ou dispinterface . . . 41-23 Ajout dune CoClasse une bibliothque de types . . . . . . . . . . . . . . . . . 41-25 Ajout dune interface une CoClasse 41-25 Ajout dune numration une bibliothque de types . . . . . 41-25 Ajout dun alias une bibliothque de types . . . . . . . . . . . . . . . . . 41-26 Ajout dun enregistrement ou dune union une bibliothque de types . . . . . 41-26 Ajout dun module une bibliothque de types . . . . . . . . . . . . . . . . . 41-27 Enregistrement et recensement des informations dune bibliothque de types . . . . . . . . . . . . . . . . . 41-27 Bote de dialogue Appliquer les mises jour. . . . . . . . .