|
Les grandes lignes :Description du contenu de ce site:Description d'une Fiche :Ce site est destiné à aider les programmeurs connaissant déjà le C++ et les principaux termes de UML lors du passage à l'utilisation d'un outil tel que C++ Builder pour réaliser des applications "Windows".La programmation sous Windows et sous DOS:Dans une application DOS, qu'elle soit programmée en C ou en C++, une chose est commune: le "main", c'est à dire la fonction principale de l'application, celle où l'on va instancier les différentes classes puis, éventuellement, réaliser les appels aux méthodes de ces objets.Description d'une application "Builder" :Dans une application "Windows", ce "main" est remplacé par un "WinMain"
Prototype de cette fonction:WINAPI WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
Description du prototype de cette fonction :
Rappel: En général, une application windows peut être exécutée plusieurs fois en même temps
- 1er argument : Identifiant de l'instance en cours de l'application
- 2ème argument : Identifiant de l'instance précédente de l'application
- 3ème argument : Chaîne contenant les arguments passés à l'application
- 4ème argument :Le mode d'affichage de l'application au démarrage (Réduite, maximalisée, taille normale...)
La programmation en "Projet" est systématique.Qu'est-ce qu'une Fiche ?
Le projet minimum contient un fichier unique .cpp contenant l'implémentation de la fonction WinMain. Le nom de ce fichier sera aussi le nom de l'exécutable.
La description du contenu du projet ainsi que les options en cours seront stockées dans le fichier du même nom et d'extension .bpr.Ce projet minimum ne sait rien faire,
même pas afficher une simple fenêtre !Pour obtenir l'affichage d'une fenêtre, il faut ajouter une Fiche au projet.
Remarque: En fait, Builder a déjà ajouté cette première fiche. Il est possible de supprimer cette première fiche vierge (dans le cas où la fiche à utiliser existe déjà).
Une Fiche est une classe un peu particulière: elle possède un système d'affichage.
Elle est composée de trois fichiers:
- Un fichier .CPP dans lequel sera implémenté la classe
- Un fichier .H dans lequel sera écrit le prototype de la classe
- Un fichier .DFM dans lequel sera écrit automatiquement la description graphique de la fenêtre créée.
Nota: Si la classe à créer ne contient pas d'affichage direct (classe de calcul par exemple), le fichier DFM est alors inutile. Il s'agit alors non plus d'une fiche mais d'une Unité.Le fichier .CPP :
Le fichier .H :
- En 1, l'implémentation du constructeur de la classe. Par défaut, cette classe s'appelle "TForm1" pour la première. Elle hérite de la classe TForm (d'où l'appel au constructeur de la classe Mère)
Au démarrage, ce constructeur de la classe TForm1 est vide.- En 2, en Noir, la déclaration d'un pointeur d'instance de la classe TForm1. (En général, cette instance sera unique).
Remarque: Si un destructeur s'avère nécessaire, il faudra l'ajouter manuellement.
- En 3, la structure nécessaire pour éviter les problème de multi-inclusion du fichier.
Le mot Unit1 est celui du nom par défaut du fichier. La sauvegarde du fichier sous un autre nom modifiera aussi cette constante.- En 4, Le prototype de la classe TForm1
Ce prototype divise en 3 catégories les éléments intégrés. Les catégories "private" et "public" sont celles du C++ standard.
Par contre, la catégorie "published" est nouvelle. Elle est gérée automatiquement par l'outil de développement. Il ne faut pas y ajouter ou supprimer quoi que ce soit. (Du moins, dans les premiers temps. Ensuite, la suppression sera quelquefois la seule solution pour résoudre certain problème)
Cette catégorie est destinée à recevoir la déclaration des pointeurs des instances des classes des composants, visuels ou non, placés sur la fenêtre.
Autre élément qui sera rangé dans cette catégorie: Les gestionnaires d'événements qui seront créés pour ces composants (Exemples: la réponse au clic de souris, le déplacement de la souris, L'appui sur une touche...).- En 5, la déclaration du partage de la variable globale, déclarée dans le CPP, instance de TForm1.
Le fait qu'elle ait été déclarée "Extern" dans ce fichier donne le droit à tous les fichiers qui incluent ce .H d'utiliser cette variable.
Précédent Menu Suite