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 librairie ?


Sujet :

C++Builder

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut Créer sa librairie ?
    Comment pourrait-on faire pour créer sa propre librairie contenant ses fonctions et où la mettre ?

    Merci
    Souris même si ton sourire est triste,
    car s'il existe quelque chose de plus triste qu'un sourire triste,
    c'est bien la tristesse de ne pas savoir sourire.

    Guillaume

  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Sous C++Builder 6 en Français : Fichier->Nouveau->Autres : Bibliothèque

    ensuite, il faut ajouter des fichiers .c ou .cpp

    Vous la mettez où bon vous semble. N'oubliez pas également d'avoir le
    fichier .h ou .hpp à un endroit dont vous vous rappelez.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Je suis sous Builder 5.
    Comment déclarer toutes les fonctions que j'ai besoin ?
    Souris même si ton sourire est triste,
    car s'il existe quelque chose de plus triste qu'un sourire triste,
    c'est bien la tristesse de ne pas savoir sourire.

    Guillaume

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 89
    Points : 90
    Points
    90
    Par défaut
    Salutation, voila le cas d'une bibliotheque inutile:
    dans le .h:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #ifndef BiblinazeH
    #define BiblinazeH
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    void printfcoucou();
    AnsiString ReadEditTest(TEdit * Edit);
    bool __fastcall NeSertARien();
    #endif
    dans le .cpp ou .c
    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
    17
    #include <vcl.h>
    #pragma hdrstop
    #pragma package(smart_init)
     
    void printfcoucou(){
        printf("coucou");
    }
     
    AnsiString ReadEditTest(TEdit * Edit){
        return Edit->Text;
    }
     
    bool __fastcall NeSertARien(){
        if(MessageDlg("Si ca sert a rien, dites-le",mtConfirmation,TMsgDlgButtons() << mbYes,mbNo, 0)== 7) return false;
    return true;
    }
    #endif
    et dans la fiche ou tu veux utiliser ta bibliotheque:
    ainsi, dans cette fiche, tu pouras faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     if( NeSertARien() ) Label1->Text = "C'est vrai que ca sert à rien";
    else Label1->Text = "Ha bah finalement, ca sert à kelke chose";
    Voila, j'espere ke ca t'a eclaircit!
    Bonne continuation
    Cordialement
    Walm

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    merci au moins c'est clair et divertissant
    Souris même si ton sourire est triste,
    car s'il existe quelque chose de plus triste qu'un sourire triste,
    c'est bien la tristesse de ne pas savoir sourire.

    Guillaume

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 89
    Points : 90
    Points
    90
    Par défaut
    De rien Laurent, ce fut aussi un plaisir pour moi

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Petit pbl, lors de la compilation, il me marque une erreur :

    [Lieur Erreur] Unresolved external '__fastcall NeSertARien()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\UNIT1.OBJ

    Une solution ?
    Souris même si ton sourire est triste,
    car s'il existe quelque chose de plus triste qu'un sourire triste,
    c'est bien la tristesse de ne pas savoir sourire.

    Guillaume

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    CA Y EST CA MARCHE ! :trouve:
    Pour ceux que ça interesse, voici le code exact :

    Dans le cpp avec notre fenêtre:
    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    #include "Biblinaze.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
     
    }
    //---------------------------------------------------------------------------
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    if(NeSertARien())Label1->Caption="C'est vrai que ca ne sert a rien";
    else Label1->Caption="Ha ha finalement, ca sert a quelque chose";
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::QuitterClick(TObject *Sender)
    {
    Close();
    }
    //---------------------------------------------------------------------------
    Dans le fichier cpp de la librairie :
    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
    17
    18
    19
    20
    21
     
    //---------------------------------------------------------------------------
     
    #include <vcl.h>
    #include "Biblinaze.h"
     
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
     
    void printfcoucou(){
            printf("coucou");
            }
     
    AnsiString ReadEditTest(TEdit *Edit){
            return Edit->Text;
            }
     
    bool __fastcall NeSertARien(){
            if(MessageDlg("Si ca ne sert a rien, dites-le",mtConfirmation,TMsgDlgButtons()<<mbYes<<mbNo,0)==7) return false;
            return true;
            }
    Et enfin, dans la librairie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    #ifndef BiblinazeH
    #define BiblinazeH
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    void printfcoucou();
    AnsiString ReadEditTest(TEdit *Edit);
    bool __fastcall NeSertARien();
    #endif
    Et SURTOUT, ne pas oublier d'ajouter au projet le cpp de la librairie.
    Voila c'est cool. Merci à tous!!!

    Souris même si ton sourire est triste,
    car s'il existe quelque chose de plus triste qu'un sourire triste,
    c'est bien la tristesse de ne pas savoir sourire.

    Guillaume

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 89
    Points : 90
    Points
    90
    Par défaut
    Salutation
    Lorsque tu crée ta bibliotheque, il faut faire nouveau->unité et non pas nouveau->fiche, comme t'as du faire.
    Une fiche contient des objets (d'ou ton .obj) alors qu'une unité n'est qu'une page .cpp ou .c associée a un .h ou un .hpp
    Voila
    Bonne continuation
    Cordialement
    Walm

  10. #10
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Peut être qu'il est envisageable de caresser l'espoir...
    d'avoir un TAG Resolu ?
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 89
    Points : 90
    Points
    90
    Par défaut
    Bon bah voila, on y est arrivé ...
    Welcome in the great world of the bibiotheque
    lol
    Bonne continuation
    Cordialement
    Walm

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/11/2007, 08h32
  2. Réponses: 1
    Dernier message: 12/11/2007, 16h49
  3. [2.0]Créer une librairie
    Par stone dans le forum C#
    Réponses: 49
    Dernier message: 28/10/2007, 08h26
  4. Réponses: 4
    Dernier message: 24/03/2006, 16h49
  5. [C++]Créer des librairies statiques
    Par aiolia_aiolos dans le forum MFC
    Réponses: 3
    Dernier message: 04/01/2006, 12h05

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