IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++Builder Discussion :

Créer sa propre bibliothéque


Sujet :

C++Builder

  1. #1
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut Créer sa propre bibliothéque
    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.

  2. #2
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void fonction1(int Param);
     
    int fonction2(int Param1, int Param2);
    Fonction.cpp
    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 ...
    }

  3. #3
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    Merci pour ces réponses,
    j'ai donc créé un fichier fonctions.h dont le code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    void fonction1(int Param);
     
    int fonction2(int Param1, int Param2);
    et ensuite j'ai créé un fichier fonction.cpp :
    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);
     
    }
    J'ai mis ces deux fichiers (fonctions.h et fonction.cpp) dans le dossier INCLUDE de CBUILDER.
    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 :

    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);
     
    }
    Le problème c'est qu'en compilant j'obtiens une erreur :

    [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.

  4. #4
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    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"

  5. #5
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    Merci infiniment,ça marche très bien

  6. #6
    Responsable Magazine

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Points : 22 087
    Points
    22 087
    Par défaut
    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

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Février 2004
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Février 2004
    Messages : 644
    Points : 785
    Points
    785
    Par défaut
    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é.

  8. #8
    Membre actif Avatar de Baxter67
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 270
    Points : 216
    Points
    216
    Par défaut
    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

  9. #9
    Membre éprouvé Avatar de b_reda31
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2007
    Messages : 899
    Points : 960
    Points
    960
    Par défaut
    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

    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 .

  10. #10
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    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

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment créer sa propre bibliothèque ?
    Par dot-_-net dans le forum Débuter
    Réponses: 5
    Dernier message: 22/02/2008, 03h59
  2. [TPW] Comment puis-je créer ma propre bibliothèque ?
    Par zarda dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 18/12/2007, 11h58
  3. Réponses: 4
    Dernier message: 13/08/2005, 10h20
  4. créer son propre protocole
    Par matthew_a_peri dans le forum Développement
    Réponses: 11
    Dernier message: 04/03/2005, 14h16
  5. Programme permettant de créer ses propres paquets TCP/UDP
    Par mat087 dans le forum Développement
    Réponses: 6
    Dernier message: 21/05/2004, 21h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo