Sommaire: Introduction à C++ builder
1. C++ BUILDER : UN ENVIRONNEMENT RAD BASÉ SUR C++
1.1 UN ENVIRONNEMENT RAD
1.1.1 PHILOSOPHIE
1.1.2 LIMITATIONS
1.2 C++ BUILDER VIS À VIS DE LA CONCURRENCE
1.2.1 C++ BUILDER VS DELPHI… OÙ LES FRÈRES ENNEMIS!8
1.2.2 DIFFÉRENCES PAR RAPPORT À BORLAND C++
1.2.3 C++ BUILDER CONTRE VB
1.3 POUR CONCLURE
2. L’ENVIRONNEMENT DE DÉVELOPPEMENT C++ BUILDER
L’INTERFACE DE C++ BUILDER
2.2 LES COMPOSANTES DE C++ BUILDER
2.3 CRÉATION D’UNE APPLICATION SIMPLE C++ BUILDER
2.4 L’INSPECTEUR D’OBJETS ET LES PROPRIÉTÉS
2.5 LA PROPRIÉTÉ NAME
2.6 MANIPULER LES ÉVÉNEMENTS
2.7 C++ BUILDER ET LES EXCEPTIONS
2.8 UTILISEZ LA FENÊTRE D’HISTORIQUE!
3. ETUDE DE LA VCL
3.1 ORGANISATION DE LA VCL
3.2 LES COMPOSANTS
3.3 LES CONTRÔLES
3.3.1 LES CONTRÔLES FENÊTRÉS
3.3.2 LES CONTRÔLES GRAPHIQUES
3.4 LES BOÎTES DE DIALOGUE STANDARD DE WINDOWS
3.4.1 LES BOÎTES DE DIALOGUE DE MANIPULATION DE FICHIERS
3.4.2 LA BOÎTE DE SÉLECTION DE COULEURS
3.4.3 LA BOÎTE DE SÉLECTION DE FONTE
3.4.4 LES BOÎTES DE RECHERCHE ET RECHERCHE/ REMPLACEMENT
3.4.5 EXERCICE SUR LES BOÎTES DE DIALOGUE COMMUNES ()24 3.5 LES BOÎTES COMBO
3.5.1 EXERCICE RÉSOLU N°1 ()
3.5.2 EXERCICE RÉSOLU N°2 ()
3.5.3 EXERCICE RÉSOLU N°3 ()
3.5.4 EXERCICE N°4 ()
3.6 LES MENUS
3.6.1 MISE EN PLACE D’UN MENU PRINCIPAL
3.6.2 L’ÉDITEUR DE MENUS
3.6.3 L’UTILISATION DES MENUS
3.6.4 UN EXEMPLE DE MODIFICATION PAR PROGRAMMATION: LA LISTE DES DERNIERS FICHIERS OUVERTS
3.6.5 LES MENUS SURGISSANTS
3.7 LES BOÎTES DÉROULANTES
3.7.1 GÉNÉRALITÉS
3.7.2 QUE PEUT ON METTRE DANS UNE TSCROLLBOX ?
3.7.3 EXERCICE RÉSOLU: AFFICHAGE D’UN DESSIN AVEC FACTEUR DE ZOOM ()
3.8 LES ASCENSEURS SIMPLES
3.8.1 GÉNÉRALITÉS
3.8.2 EXERCICE()41 3.9 LES BARRES D’OUTILS DE C++ BUILDER
3.9.1 INSERTION DE CONTRÔLES STANDARD DANS UNE BARRE D’OUTILS
3.9.2 LES BOUTONS GADGETS
4. UTILISATION MINIMALISTE DES BASES DE DONNÉES AVEC C++ BUILDER
4.1 MISE EN PLACE DE LA BASE DE DONNÉES
4.1.1 L’OUTIL « ADMINISTRATEUR BDE »
4.1.2 CRÉATION DE L’ALIAS
4.2 ACCÈS AUX DONNÉES DANS C++ BUILDER
4.3 LES CONTRÔLES ORIENTÉS BASES DE DONNÉES
4.3.1 PRÉSENTATION TABULAIRE D’UNE TABLE OU D’UNE REQUÊTE
4.3.2 LES AUTRES CONTRÔLES
4.4 MANIPULATIONS ÉLÉMENTAIRES SUR LES BASES DE DONNÉES
4.4.1 RÉALISATION DE JONCTIONS
4.4.2 LE FILTRAGE
4.4.3 CRÉATION DE FICHES MAÎTRE / DÉTAIL
4.4.4 AJOUT D’UN TUPLE DANS UNE OU PLUSIEURS TABLE
5. UTILISATION DU MODULE DE BASES DE DONNÉES
5.1 LE MODULE DE BASES DE DONNÉES
5.2 PRÉSENTATION DE L’INTERFACE
5.3 AJOUT DE CHAMPS
5.3.1 LE NOM
5.3.2 LE TYPE
5.3.3 LA TAILLE
5.3.4 LA PRÉSENCE DANS LA CLEF PRIMAIRE
5.4 DÉFINIR DES INDEX SECONDAIRES
6. UTILISATION DES CONTRÔLES ACTIVEX
6.1 MISE EN PLACE
6.1.1 EDITION DE LA LISTE DES CONTRÔLES DISPONIBLES
6.1.2 RECENSEMENT DANS LA BASE DE REGISTRES D’UN NOUVEAU COMPOSANT
6.1.3 CRÉATION D’UNE UNITÉ
6.2 UTILISATION D’UN CONTRÔLE ACTIVEX
6.3 DÉPLOIEMENT D’UN PROGRAMME UTILISANT UN CONTRÔLE ACTIVEX
7. L’ÉCRITURE DE NOUVEAUX COMPOSANTS
7.1 GÉNÉRALITÉS
7.2 CRÉATION D’UN NOUVEAU COMPOSANT
7.2.1 L’EXPERT COMPOSANT
7.2.2 DE QUEL COMPOSANT DÉRIVER?
7.3 EXERCICE RÉSOLU: CRÉATION DU COMPOSANT TLISTBOXCOOL
7.3.1 MOTIVATION ET DÉROULEMENT GÉNÉRAL DE L’EXERCICE
7.3.2 MISE EN PLACE
7.3.3 UTILISATION DU COMPOSANT
7.3.4 UTILISATION D’UN COMPOSANT NON INSTALLÉ SUR LA PALETTE
7.4 EXERCICE RÉSOLU N°2 : LA CALCULETTE FRANCS EUROS
7.4.1 CRÉER LE COMPOSANT
7.4.2 CRÉER DES PROPRIÉTÉS
7.4.3 GÉRER L’ASPECT VISUEL DU COMPOSANT
7.4.4 GESTION DES ÉVÉNEMENTS INTERNES
7.4.5 AJOUTER LA SAISIE DU TAUX
7.5 EXERCICE RÉSOLU N°3 RÉALISATION D’UN COMPOSANT DE SAISIE DE DATE
7.6 GESTION DES ÉVÉNEMENTS EXTERNES
7.6.1 MOTIVATION ET MISE EN ŒUVRE
7.6.2 UN EXEMPLE SIMPLE
7.6.3 PRENDRE EN COMPTE LES ÉVÉNEMENTS
7.6.4 EXERCICE: INTERDIRE LA MODIFICATION DE LA DATE ()
7.7 CONVERSION D’UNE BOÎTE DE DIALOGUE GÉNÉRIQUE EN COMPOSANT
7.7.1 MOTIVATION
7.7.2 FONCTIONNEMENT DE L’ENCAPSULATION
7.7.3 RÉALISATION
7.7.4 MISE EN PLACE DES PROPRIÉTÉS
7.7.5 CODAGE DE LA MÉTHODE EXECUTE
7.8 RÉALISATION D’UN COMPOSANT GRAPHIQUE
7.8.1 LE COMPOSANT AFFICHAGE DE GRAPHE
7.8.2 MISE EN ŒUVRE
7.9 EXERCICES SUPPLÉMENTAIRES
8. EN GUISE DE CONCLUSION
Extrait du cours gratuit: Introduction à C++ builder
1. C++ Builder : un environnement RAD basé sur C++
C++ Builder est le nouvel environnement de développement basé sur C++ proposé par Borland … pardon Inprise ! Fort du succès de Delphi, Borland a repris la philosophie, l’interface et la bibliothèque de composants visuels de ce dernier pour l’adapter depuis le langage Pascal Orienté Objet vers C++ répondant ainsi à une large faction de programmeurs peu enclins à l’utilisation du Pascal qu’ils jugent quelque peu dépassé.
1.1 Un environnement RAD
1.1.1 Philosophie
Tout d’abord C++ est un outil RAD, c’est à dire tourné vers le développement rapide d’applications (Rapid Application Development) sous Windows. En un mot, C++ Builder permet de réaliser de façon très simple l’interface des applications et de relier aisément le code utilisateur aux événements Windows, quelle que soit leur origine (souris, clavier, événement système, etc. )
Pour ce faire, C++ Builder repose sur un ensemble très complet de composants visuels prêts à l’emploi. La quasi totalité des contrôles de Windows (boutons, boîtes de saisies, listes déroulantes, menus et autres barres d’outils) y sont représentés, regroupés par famille. Leurs caractéristiques sont éditables directement dans une fenêtre spéciale intitulée éditeur d’objets. L’autre volet de cette même fenêtre permet d’associer du code au contrôle sélectionné. Il est possible d’ajouter à l’environnement de base des composants fournis par des sociétés tierces et même d’en créer soit même. Un outil RAD c’est également un ensemble de squelettes de projets qui permettent de créer plus facilement une application SDI ou MDI, une DLL, des objets OLE, etc. A chacun de ces squelettes est habituellement associé un expert qui par une série de boîtes de dialogues permet de fixer
1.1.2 Limitations
Tout d’abord, il faut savoir que la technologie RAD ne s’applique qu’au squelette ou à l’interface d’une application. Bien entendu, toute la partie spécifique à votre projet reste à votre charge.
Du point de vue portabilité, le code C++ Builder n’est pas compatible C++ ANSI.
Ceci est du à la gestion de la bibliothèque des composants visuels et en particulier de leurs propriétés. Pour l’heure, il suffit de savoir qu’une propriété d’un objet est assimilable à un attribut auquel on accède par affectation directe dans le code utilisateur. Toutefois, cet accès apparemment direct masque l’utilisation de méthodes d’accès en lecture et / ou écriture. Ce système de propriété a été mis au point par Microsoft dans le cadre d’OLE puis démocratisé par le langage Visual Basic. Bien intégré dans le langage Pascal Orienté Objet, support, rappelons-le, de Delphi, il a fallu étendre le C++ pour l’y intégrer, notamment en ajoutant le mot clef non ANSI __property. De fait, tout le code C++ Builder qui fait appel à la VCL est non portable. En revanche, toute partie du code de l’application non directement liée à l’interface peut très bien être écrit en C++ ANSI. Plus que jamais, il convient d’adopter la décomposition Interface / Données / Méthodes pour l’écriture d’une application C++ Builder.
1.2 C++ Builder vis à vis de la concurrence
Loin d’être exhaustive, cette partie ne vise qu’à placer C++ Builder dans le cadre des outils RAD les plus présents sur le marché. Ayant peu travaillé avec Visual C++, je préfère ne pas présenter de comparatif avec cet outil par soucis d’équité. Je préciserai même, au bénéfice de Visual C++, que ce dernier accorde une bien meilleure place au modèle Document/Interface/Contrôleur que son rival, au détriment d’une interface un peu plus complexe à utiliser au premier abord.
1.2.1 C++ Builder vs Delphi… où les frères ennemis !
Tout d’abord, il faut savoir que, pour un même problème, l’exécutable fourni par C++ Builder est toujours un peu plus gros que celui issu de Delphi. Ceci tient au fait que la bibliothèque de composants visuels utilisée par les deux reste nativement celle de Delphi, aussi l’exécutable C++ Builder contient-il un module supplémentaire destiné à faire le lien avec des objets au format Delphi.
En dehors de ça, les deux outils sont très similaires. Mon choix se portera tout de même sur C++ Builder car ce dernier permet une meilleure intégration des contrôles ActiveX et autres mécanismes issus d’OLE.
1.2.2 Différences par rapport à Borland C++
Les différences par rapport à Borland C++ sont assez nombreuses. La première réside dans la nature du code produit. Si OWL, la bibliothèque de gestion de la programmation sous Windows et Borland C++ était 100% compatible C++ ANSI, la gestion de la VCL ne l’es pas pour les raisons exprimées au paragraphe précédent. En outre, C++ Builder pose les problèmes communément liés aux outils de haut niveau. Par exemple, il est très difficile d’accéder directement aux messages Windows.En effet, s’il est toujours possible d’utiliser les primitives de l’API Windows, ces dernières ont elles – même été encapsulées dans une API de plus haut niveau,fournissant certaines valeurs par défaut à des paramètres clef.
………
Cours gratuit: Introduction à C++ builder (796 KO) (Cours PDF)