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 :

Interface Graphique en Temps réel


Sujet :

C++Builder

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut Interface Graphique en Temps réel
    Bonjour,

    Actuellement en Deuxième année de BTS IRIS, nous devons réaliser un projet sous c++ Builder 6, La gestion d'un trafic ferroviaire.

    Nous avons déjà réalisé la majeur partie du projet, et de ce faite nous devons avoir une interface Graphique nous permettant de visualiser la position du train en temps réel.

    Sachant que le circuit se décompose en deux parcours Intérieur & Extérieure avec un Canton de communication.

    Chaque circuit se décompose en plusieurs Canton de Zone 0 à Zone 9 par exemple et chaque fin de Canton est délimité par un Capteur, auquel on est capable de récupérer sa valeur.

    Je vous met ci dessous le schéma du parcours et si vous auriez une idée de comment procéder sous C++ Builder pour obtenir un résultat semblable.

    Merci.


  2. #2
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Bonjour,
    quel est votre problème exactement ?
    A priori c'est l'interface graphique, mais si vous ne précisez pas votre problème, personne ne pourra vous aider.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    En faite,

    Nous devons connaitre la position du train en temps réel sur le circuit, et j'aurais pensé à utilisé l'image du circuit que j'ai mis ci dessus et à pouvoir la manipuler ( via les pixels, ou autre ... )

    Je ne sais pas comment m'y prendre...

  4. #4
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    A mon avis ce serais plus facile de refaire le circuit directement sur l'interface grâce à des composant TShape, auquel tu pourra affilié une couleur en fonction de si il y a un train ou non

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par défaut
    ou alors a la création de ta fenetre, tu initialise un objet TImage, avec le quels tu dessine ton ciruit, et apres, tu dessine juste des lignes avce les couleurs souhaité.

  6. #6
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui mais le traitement de l'image risque d'être un peut long a mon avis, c'est pour cela que j'ai proposé le TShape

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Oui on avait pensé à reprendre l'image et à redessiner les lignes mais il nous reste peu de temps pour finaliser le projet et nous n'avons pas eu beaucoup de "cours" sur le traitement des images, on va surement essayé avec TShape mais aprés reste le problème des tracés en "diagonales", il y'a t il possibilités de modifier des paramétres pour obtenir ce résultat.

    merci de votre aide

  8. #8
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Je ne croit pas que l'on puisse faire de diagonale avec non, désolé

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Ok, bah merci on va essayé de se débrouiller avec tout ça, sinon on a pensé à un system D, c'est à dire avoir plusieurs shéma avec une zone coloré différente représentant la position du train et changer l'image à chaque passage sur un nouveau capteur.

  10. #10
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Oui c'est aussi une solution, c'est ce que j'avais fais il y a quelques années lors de mon projet de fin d'étude de mon BTS IRIS

  11. #11
    Rédacteur
    Avatar de blondelle
    Homme Profil pro
    Inscrit en
    Mars 2006
    Messages
    2 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 738
    Par défaut
    Salut masenco
    Je suis parti sur l'idee decrite sur le Site dans Trucs et astuces CGI
    Afficher un texte avec un certain angle :
    puis dans la FAQ comment mettre de la couleur dans un rectangle
    et je suis parvenu a ceci qui me permet d'afficher un rectangle en couleur avec du texte et un certain angle
    le .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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    //---------------------------------------------------------------------------
    #include <vcl.h>
    #pragma hdrstop
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    TControlCanvas *pCn;
    pCn = new TControlCanvas();
    pCn->Control = RichEdit1;
    pCn->Brush->Color = clGreen;
       pCn->Font->Size = 20;
       pCn->Font->Name = "Arial";
       LOGFONT lgfont;
       GetObject(Canvas->Font->Handle, sizeof(LOGFONT), &lgfont);
       lgfont.lfEscapement = 450;   //Angle *10
       lgfont.lfOrientation = 450;  //Angle *10
       lgfont.lfOutPrecision = OUT_TT_ONLY_PRECIS;
       pCn->Font->Handle = CreateFontIndirect(&lgfont);
       SetGraphicsMode(pCn->Handle, GM_ADVANCED);
       AnsiString text = "Train A";
       pCn->Brush->Color = clGreen;
       pCn->TextOutA(50,210, text);
    delete pCn;
     
    }
    //---------------------------------------------------------------------------
    le .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
    26
    27
     
    //---------------------------------------------------------------------------
    #ifndef Unit1H
    #define Unit1H
    //---------------------------------------------------------------------------
    #include <Classes.hpp>
    #include <Controls.hpp>
    #include <StdCtrls.hpp>
    #include <Forms.hpp>
    #include <ExtCtrls.hpp>
    #include <Graphics.hpp>
    #include <ComCtrls.hpp>
    //---------------------------------------------------------------------------
    class TForm1 : public TForm
    {
    __published: // IDE-managed Components
            TButton *Button1;
            TRichEdit *RichEdit1;
            void __fastcall Button1Click(TObject *Sender);
    private: // User declarations
    public:  // User declarations
            __fastcall TForm1(TComponent* Owner);
    };
    //---------------------------------------------------------------------------
    extern PACKAGE TForm1 *Form1;
    //---------------------------------------------------------------------------
    #endif
    il reste a l'adapter au support que tu va utiliser ici c'etait un RichEdit
    en esperant t'aider

  12. #12
    Membre Expert

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 412
    Par défaut
    Salut !

    A partir du moment où l'on connait les coordonnées des objets, il suffit de les dessiner à l'aide des primitives de TCanvas.
    Si on veut s'amuser un peu, il suffit de définir des classes pour faire en sorte que les objets se dessinent via un canvas cible.

    On a au moins deux techniques :
    a) Soit on dessine l'image résultat dans son intégralité (décor + mobiles)
    b) Soit on traite sur une image d'arrière plan qui sert de décor. Chaque mobile est alors traité comme un sprite :

    A l'initialisation :
    - sauvegarde du fond sur la position du sprite
    - dessin du sprite sur sa position

    Pour le déplacement :
    - Restauration du fond sur l'ancienne position du sprite
    - sauvegarde du fond sur la nouvelle position
    - dessin du sprite sur la nouvelle position

    Ca se modélise assez facilement, du circuit au mobile !

    On peut dessiner directement sur la form (Form->Canvas) !

    A plus !

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Ok, je vous remercie pour vos réponse, je suis en congé pendant deux semaines je vais essayé de travailler tout ça chez moi, ou à la reprise des cours, mais merci pour vos idées ^^ !

    Pottiez tu étais tombé sur quel type de projet ? Tu l'as passé dans quel région ?

    Bonne Aprés midi à vous.

  14. #14
    Expert confirmé

    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 : 40
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Projet station météo, et mon école été à Armentière dans le Nord (59)

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Par défaut
    Ah ok, On a aussi ce projet en réserve mais il est pas sortie cette année, bon j'espére qu'on va pouvoir réussir à sortir quelque chose de bien avec tous ce que vous nous avez donné ^^

Discussions similaires

  1. représentation graphique en temps réel
    Par sandball22 dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 05/02/2011, 13h20
  2. [AJAX] Tracer graphique en temps réel
    Par Emcy dans le forum Général JavaScript
    Réponses: 22
    Dernier message: 19/02/2009, 10h33
  3. bibliothèques AJAX pour graphiques en temps réel
    Par clebig dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 07/02/2008, 19h08
  4. Création fenêtre graphique en temps réel
    Par Juanes dans le forum Visual C++
    Réponses: 1
    Dernier message: 26/06/2007, 13h57
  5. Bibliothèque graphique 2D temps réel
    Par gk14fire dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 25/05/2007, 09h27

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