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 :

structurer son projet borland c++ builder


Sujet :

C++Builder

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 954
    Points : 2 071
    Points
    2 071
    Par défaut structurer son projet borland c++ builder
    bonjour

    Je fais des petites applications IHM pour des montages electronique.
    Aujourd'hui j'ai un fichier .cpp par form donc en gros un Unit1.cpp principal plus des bricoles autour pour des petites forms "accessoires".

    Mon code dans Unit1.cpp fait des kilomètres maintenant ! avec des fonctions pour une com USB mélangées avec les fonctions pour l'affichage ou celles de l'enregistrement de fichiers...

    Comment peut on créer plusieurs fichiers pour la meme form ? par exemple un fichier USB.cpp ou je placerais toutes mes fonctions USB utilisées dans Unit1.cpp ?

    Ca a l'air assez basique comme question mais ca fait des années que j'utilise mal BCB6 et je n'arrive pas à me sortir de là

    Merci par avance
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  2. #2
    Membre chevronné
    Avatar de Gilles Louïse
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    421
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2002
    Messages : 421
    Points : 1 911
    Points
    1 911
    Par défaut
    Dans C++ Builder, on appelle unité un ensemble .cpp pour le code c++ et .h pour le header.

    Libre à vous donc de créer des nouvelles unités pour mieux structurer le tout.

    En général, on structure autour des classes. Unit1.cpp et Unit1.h renvoient à la classe principale Form1 (nom par défaut). Si vous créez d’autres classes, créez une unité par classe et gérez ainsi vos méthodes.

    Si vous n’avez pas procédé par classe, vous pouvez quand même subdiviser dans des unités les types de fonction de votre application.

    À bientôt
    Gilles

  3. #3
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut
    rien de plus simple, si t'as des classes comme dis Gilles, il te faudra créer d'autres headers pour simplifier, sinon, si c'est juste du code, il te suffit de créer un nouveau fichier *.cpp dans lequel tu mets ton code en n'oubliant pas de faire un petit include "Projet.h" sinon il reconnaîtra pas ce que tu déclares dans ton fichier principal évidemment. Ensuite, il ne te restera plus qu'à inclure ces fichiers *.cpp à ton projet (je sais plus exactement, mais tu devrais trouver ça dans le menu projet, mais je pense que Borland le fait par défaut si ton projet est ouvert).
    Voilou

  4. #4
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 954
    Points : 2 071
    Points
    2 071
    Par défaut
    Bonjour

    Merci pour votre aide mais je galère toujours

    J'ai créé un nouveau fichier .Cpp en passant par fichier/nouveau => USB.cpp

    Je lui ai mis en haut toutes les #include et #pragma de mon unit1.cpp (il y a donc bien le include unit1.h)

    et j'y ai transféré une des fonctions qui était sur unit1.cpp

    à la compilation ca me dit
    Unable to open file USB.DFM
    Le fait d'ajouter USB.cpp à mon projet en passant par le menu projet n'y change rien....

    Merci
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

  5. #5
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut
    Un fichier DFM est un fichier qui contient une fiche. Je ne vois pas pourquoi tu as créé une telle fiche USB ?

    Ce que je te disais de faire, c'est de créer un simple fichier CPP (fichier->ouvrir->autre->fichier cpp) sans fiche. Ensuite, tu fais juste un copier coller de ton code avec le #include "unit1.h", pas besoin du pragma et ça devrait marcher.

    Je te donne un exemple tout bete.

    unit1.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 <vcl.h>
    #pragma hdrstop
     
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    et unit1.h :
    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
     
    //---------------------------------------------------------------------------
     
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published:	// IDE-managed Components
            TButton *Button1;
            TEdit *Edit1;
            void __fastcall Button1Click(TObject *Sender);
    private:	// User declarations
    public:		// User declarations
            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    Ce sont les fichiers par défaut dès que tu débutes un nouveau projet. Sur la fiche, j'ai juste placé un TButton et un TEdit sans rien ajouter.

    Je crée alors un nouveau fichier cpp qui s'appelle par défaut file1.cpp et dans lequel je place le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include "unit1.h"
     
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
       Edit1->Text = "Hello World!";
    }
    //---------------------------------------------------------------------------
    Résultat des courses, lorsque je j'appuie sur le bouton, on m'affiche le texte "Hello World!" dans le TEdit. Je te l'avais dit, prog tout benet mais c'est pour le principe.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 81
    Points
    81
    Par défaut
    Tu as bien fais Fichier/Nouveau/Unité et pas Fichier/nouveau/Fiche!

  7. #7
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 954
    Points : 2 071
    Points
    2 071
    Par défaut
    Bonjour

    Ca y est j'ai vaincu !

    en retirant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #pragma resource "*.dfm"
    ca marche beaucoup mieux

    Merci beaucoup !
    Il y a 10 sortes de personnes dans le monde : ceux qui comprennent le binaire et les autres

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 27/02/2015, 10h34
  2. Projet Borland c++ 5 sous Builder 6
    Par Ben77 dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 22/10/2007, 19h56
  3. Choisir Visual c++ ou Borland C++Builder ?
    Par DevEric dans le forum Choisir un environnement de développement
    Réponses: 31
    Dernier message: 14/06/2007, 23h48
  4. Outils, cours et NOUVEAUX tutoriels pour Borland C++Builder
    Par hiko-seijuro dans le forum C++Builder
    Réponses: 10
    Dernier message: 12/03/2006, 22h33
  5. conversion de projet Borland C++ builder en Visual C++ ou
    Par kurul1 dans le forum C++Builder
    Réponses: 2
    Dernier message: 12/09/2005, 08h30

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