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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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
    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
    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.
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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
    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
    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
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  5. #5
    Membre régulier
    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
    Points : 89
    Points
    89
    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
    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
    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
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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
    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
    Je ne croit pas que l'on puisse faire de diagonale avec non, désolé
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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
    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
    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
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

  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
    Points : 3 766
    Points
    3 766
    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
    --
    Plutot que d'essayer de réinventer la roue, apprenons à nous en servir

  12. #12
    Membre chevronné

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

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 374
    Points : 1 759
    Points
    1 759
    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
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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
    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
    Projet station météo, et mon école été à Armentière dans le Nord (59)
    Quand une réponse vous a été utile, pensez à utiliser le nouveau système de notation

    Lisez le magazine de developpez.com.
    Mes tutos : http://pottiez.developpez.com

    La FAQ BCB -> 642 Questions/Réponses, si vous voulez participer, contactez moi. Aide de BCB6 en français

    N'oubliez pas que l'aide existe et est affichée sous simple pression de la touche F1 , une touche c'est plus rapide que tout un message .

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

    Informations forums :
    Inscription : Novembre 2007
    Messages : 11
    Points : 8
    Points
    8
    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