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 :

Convertir une classe en .HPP


Sujet :

C++Builder

  1. #1
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut Convertir une classe en .HPP
    Bonjour � tous;

    j'ai une classe d�clar�e dans un fichier tool.h, et impl�ment�e dans tool.cpp.

    Ma question serais comment faire de cette classe qu'un seul fichier pr�compil� en .HPP

    Merci � vous .

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    61
    D�tails du profil
    Informations personnelles :
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2002
    Messages : 61
    Par d�faut
    Je comprends pas totalement ta question, surtout dans ton treme firchier pr�-compil� mais bon, je te dirai de faire ainsi :

    fichier classe.h

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    class TRappel
    {
    private :
    /* Ce qu'il te faut */
     
    public :
    void Show();
    };
    fichier classe.cpp

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    void TRappel::Show ()
    {
    Form->Show();
    }
    Et ce qui donnerai en regroupant le tout :
    fichier classe.hpp

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class TRappel
    {
    private :
    /* Ce qu'il te faut */
     
    public :
    void Show()
         {
         Form->Show();
         }
    };
    Si c'est ce que j'ai compris, sinon, bah dommage, en gros, tu mets directement ton code dans ta classe.

  3. #3
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Non, mais merci qdmme,

    je m'explique,

    Une fois que la classe est inmpl�ment�e (que ce soit en deux fichier .h et .cpp, ou dans un seul), je veux compil� pour avoir qu'un seul fichier .HPP sans code source de ma classe, par exemple :

    la fonction FileExists(MonFichier) : permet de savoir si le fichier MonFichier exist bien. Cette fonction fait partie de SysUtils.hpp, si on veux voir son impl�mentation: on ouvre le fichier SysUtils.hpp, mais l� on trouve que la d�claration.

    Remarque :
    Un fichier .HPP est un fichier pr�-compil�, donc comment faire avec ma classe : : l

  4. #4
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Les fichiers .hpp sont des fichier ent�te tout comme les fichier .h

    D'apr�s tes explication je pense plut�t que ce sont des librairies que tu veux faire : fichier .lib
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  5. #5
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Oui, Mais pour les fichiers .HPP on ne trouve pas d'autres fichier li�s comment par exemple :

    Tool.h
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class TRappel 
    { 
    private : 
    /* Ce qu'il te faut */ 
     
    public : 
    void Show(); 
    };
    Tool.cpp
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    void TRappel::Show () 
    { 
    Form->Show(); 
    }
    Mais dans un fichier .HPP on ne trouve que :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
     
    void TRappel::Show () ;
    pas d'autre d�claration;

    entre-autre, pour les fichier .LIB, je m'int�resse, pouvez vous m'expliquez comment Linker, et surtout comment les utilis�s.

    Merci

  6. #6
    Membre Expert
    Avatar de bakaneko
    Profil pro
    Inscrit en
    F�vrier 2004
    Messages
    1 268
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2004
    Messages : 1 268
    Par d�faut
    Pour reprendre ton exemple avec SysUtils.hpp, il existe dans le dossier c:\Program Files\Borland\CBuilder6\Source\vcl un fichier sysutils.pas qui contient une fonction FileExists.

    Tu as donc bien un fichier hpp li� � un fichier source.

  7. #7
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Moi j'ai compris la question comme �a: tu aimerais pouvoir distribuer tes classes sans montrer le code, comme dans certains fichiers fournis avec Borland.

    Ma r�ponse est que tu dois compiler tes classes. A partir des fichiers .h et .cpp, tu vas obtenir un nouveau fichier .obj

    Tu peux distribuer uniquement le ".h" (l'interface de la classe) et le ".obj" (le code compil�). Les destinataires peuvent ainsi utiliser la classe (puisqu'ils ont � la fois l'interface et le code compil�) pour les inclure dans un nouveau projet.

    Est-ce juste?

    PS: Je ne l'ai encore jamais fait... Corrigez-moi si je dis des b�tises

  8. #8
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut
    Tr�s exacte. Merci, pour le truc c'est top g�nial.

    Mais je revien pour la technique des .LIB, comment faire

    Si j'ai bien compris, idem pour les .LIB,
    je compile ma calsse,
    je copie les deux fichiers .h et .lib dans le dossier du nouveau projet,
    j'ajoute � mon nouveau projet le .Lib
    je fais un #include<...>

    et le tour est jou�, n'es pas !!

    MAIS LA, COMMENT COMPILER EN .LIB

    Merci � tous.

  9. #9
    Membre chevronn�

    Profil pro
    Inscrit en
    Juin 2005
    Messages
    351
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2005
    Messages : 351
    Par d�faut
    Si j'ai bien compris, les .lib servent � d�crire les interfaces des dll.

    On a l'�quivalent des .h et .obj:

    .h = interface d'une classe/groupe de fonctions
    .obj = code compil� d'une classe/groupe de fonctions

    .lib = interface de la librairie
    .dll = code compil� de la librairie

    Tu dois faire le include du fichier .lib pour pouvoir utiliser la librairie correspondante. Par contre, je ne pense pas que le code de la dll soit inclu dans ton build... (pas trop s�r de ce point)

  10. #10
    CGi
    CGi est d�connect�
    Expert confirm�
    Avatar de CGi
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    1 061
    D�tails du profil
    Informations personnelles :
    Localisation : France, Allier (Auvergne)

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 061
    Par d�faut
    Si j'ai bien compris, les .lib servent � d�crire les interfaces des dll.
    Ces lib qui sont associ�e � des dll sont appel�e librairies d'importation.

    Mais on peut aussi faire des librairies static .lib qui contiennent le code et qui peuvent �tre li�es � un projet.
    L'interface dans les deux cas est dans les fichier entetes .h ou .hpp

    Sous BCB on peut cr�er des librairies en faisant nouveau -> biblioth�que.
    Site : http://chgi.developpez.com

    Pourquoi faire simple quand on peut faire compliqu� ? (Jacques Rouxel)

  11. #11
    Membre Expert
    Avatar de kmaniche
    Inscrit en
    Janvier 2006
    Messages
    1 717
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 717
    Par d�faut



    Merci � tous.


    MERCI DEVELOPPEZ

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Convertir une �num�ration Java en class C++
    Par yo0shii-78 dans le forum C++
    R�ponses: 1
    Dernier message: 03/04/2015, 23h04
  2. [C#] Convertir le champ d'une classe en string
    Par Marsupilami_00 dans le forum C#
    R�ponses: 9
    Dernier message: 28/08/2008, 18h39
  3. python C API: convertir une struct C en Class python
    Par dmichel dans le forum Interfa�age autre langage
    R�ponses: 11
    Dernier message: 25/06/2008, 16h30
  4. R�ponses: 0
    Dernier message: 29/10/2007, 14h28
  5. Sortir un typedef d'une classe
    Par Theophil dans le forum C++Builder
    R�ponses: 13
    Dernier message: 03/07/2002, 17h21

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