Bonjour à tous,
Bon voilà je voudrai créer un ensemble de fonctions et procédures que je pourrai appelé à partir de plusieurs projets.
C'est bien une bibliothèque que je dois créer?
Quelqu'un pourrai me dire comment procéder?
Merci d'avance.
Réda.
Bonjour à tous,
Bon voilà je voudrai créer un ensemble de fonctions et procédures que je pourrai appelé à partir de plusieurs projets.
C'est bien une bibliothèque que je dois créer?
Quelqu'un pourrai me dire comment procéder?
Merci d'avance.
Réda.
il te suffit juste de créer un .h avec les prototypes de tes fonctions, et un .cpp avec le corps de celles-ci.
Ensuite, il te reste juste à inclure ton .h dans tes projets.
Exemple :
Fonctions.h
Fonction.cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void fonction1(int Param); int fonction2(int Param1, int Param2);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #include "Fonctions.h" void fonction1(int Param) { // Code de ta fonction ... } int fonction2(int Param1, int Param2) { // code te ta fonction ... return ... }
Merci pour ces réponses,
j'ai donc créé un fichier fonctions.h dont le code est le suivant :
et ensuite j'ai créé un fichier fonction.cpp :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 void fonction1(int Param); int fonction2(int Param1, int Param2);
J'ai mis ces deux fichiers (fonctions.h et fonction.cpp) dans le dossier INCLUDE de CBUILDER.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #include "fonctions.h" void fonction1(int Param) { // Code de ta fonction } int fonction2(int Param1, int Param2) { // code te ta fonction return(5); }
Maintenant j'ai créé une nouvelle application,
à l'entête de Unit1.cpp j'ai mis #include <fonctions.h>,et quand je compile l'application s'éxecute normalement sans erreurs.
Pour faire appel à ses fonctions j'ai déposé un bouton de la forme et à son evenement OnClick j'ai mis :
Le problème c'est qu'en compilant j'obtiens une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void __fastcall TForm1::Button1Click(TObject *Sender) {int i; i=fonction2(2,3); }
[Lieur Erreur] Unresolved external 'fonction2(int, int)' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ
Qu'ai je donc oublié de faire??
Merci à vous.
C'est pas toi qui a oublié quelque chose, c'est moi, en plus d'inclure le .h dans ton appli, il faut que tu ajoutes le fichier fonction.cpp dans ton projet
Menu Projet Ajouter puis tu sélectionnes le fichier "fonction.cpp"
Merci infiniment,ça marche très bien
Pour info, le .cpp et .h suffise pour n'importe quel projet, le but d'une bibliothèque et de donner à une tiers personne la possibilité d'utiliser tes fonction mais tu ne veut pas qu'elle les modifie, tu les cache donc dans une bibliothèque, le compilateur lui sera exécuter la fonction mais la tiers personne ne pourra pas la modifier
C'est pour cela que l'on a créé les DLL.
Pour utiliser un .h et .cpp, ça va pour un tout petit projet, mais pour quelque chose prenant de l'ampleur, il est conseillé de splitter afin de ne pas devoir recompiler inutilement du code non-modifié.
juste une remarque comme sa en pasant
sa na rien de dramatique mais c'estn juste pour ton infomration au cas ou tu l'ignorerais
dans le .h ta pas besoin de mettre le nom des variable
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int fonction (int, int, char);
voila jvoulais juste que tu le sache
cordialement Baxter
Merci pour l'info ,ça s'avérerai utile lorsque le nombre de parametres est assez important .Envoyé par Baxter
juste une remarque comme sa en pasant
sa na rien de dramatique mais c'estn juste pour ton infomration au cas ou tu l'ignorerais
dans le .h ta pas besoin de mettre le nom des variable
voila jvoulais juste que tu le sache
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int fonction (int, int, char);
cordialement Baxter
Moi j'ai toujours mis les noms des paramètres mais c'est vrai que ca s'avère intéressant comme tu dis quand il y en a beaucoup.
Merci à toi Baxter pour ces informations
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager