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 :

Dessiner un graphe


Sujet :

C++Builder

  1. #1
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut Dessiner un graphe
    je voudrais dessiner un graphe en utilisant c++ builder alors que je suis débutante.
    c'est un graphe qui doit contenir des cesrcles,des arcs et des numéro dans les cercles.
    ce que j'ai pue faire c'est de dessiner un cercle avc numéro dans une image.mais je n'est pas pue avoir des arcs ensuite d'autres cercles at ainsi de suite.je voudrais qu'une idée pr pouvoir commencé.merci a ts.

  2. #2
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Salut,
    Tu peux faire ton graphique directement dans un Canvas (celui de ta Form par exemple).
    Il existe les fonctions suivantes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
         //trace un cercle
         Form1->Canvas->Ellipse(100,100,200,200);
         //trace un arc
         TPoint points[3];
         points[0] = Point(110,110);
         points[1] = Point(200,200);
         points[2] = Point(170,300);
         Form1->Canvas->Pen->Width = 3;
     
         Form1->Canvas->MoveTo(110,110);
         Form1->Canvas->PolyBezier(points,3);

  3. #3
    Membre éclairé Avatar de Masmeta
    Homme Profil pro
    Ing. R&D informatique industrielle
    Inscrit en
    Mai 2006
    Messages
    472
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Ing. R&D informatique industrielle
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2006
    Messages : 472
    Par défaut
    J'ai suivi ce post la pour permettre de dessiner en utilisant un TBitmap et TPaintbox.

    Pour les arcs et les ellipses, il doit avoir des formules mathématiques pour les tracer suivant leur rayon, l'angle pour l'arc et le point de début, voir le point de fin

  4. #4
    Membre émérite
    Avatar de Interruption13h
    Inscrit en
    Août 2005
    Messages
    603
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 603
    Par défaut
    Salut !

    Regarde ici, ça doit t'aider :

    http://www.developpez.net/forums/sho...d.php?t=198199

    Je t'oriente surtout vers la pièce joint posté par Handerson dans ce lien .

    Bonne chance !

  5. #5
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    merci pour votre aide.je vais essayer de voir avc ce que vs m'avez donner.merci a ts.

  6. #6
    Membre confirmé
    Inscrit en
    Avril 2006
    Messages
    131
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 131
    Par défaut
    SLT.merci pour vos aides mais j'ai pas pue vraiment bien comprendre .je précise que je suis une débutante en C++builder et je doit construire un graphe qui est constitué d'un cercle et +ieurs arcs.
    Mon projet c'est de lire un fichier contenant un programmé("code")et je doit lire ce fichier mot par mot et ensuite ou il ya des affectaion ou des teste je doit leurs donner un numéro et ainsi de suite jusqu'a obtenir un graphe.ce graphe (ou le cercle du graphe") peut contenir +ieurs arcs.svp si vous pouvez me donner la solution car je commence a peine de comprendre le c++ builder car il est différent du c ou c++ puisque il contient des méthodes que le programmeur doit bien les connaitre et je commence a peine.

  7. #7
    Membre émérite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    Février 2006
    Messages
    916
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 916
    Par défaut
    Il va falloir que tu découpes ton problème en plusieurs partie:
    - découvrir Builder
    - ouvrir / lire un fichier texte
    - décoder le texte
    - tracer ton graphique


    Builder est composé de composants (Bouton, Label, Memo ...). Chaque composant à des propriétés, des méthodes et des évennements. Par exemple un bouton à des propriétés de taille et de nom affiché (Caption) et des évennements (OnClick, OnKeyPress ...).
    Le plus simple est que tu télécharges des petites sources ou que tu codes des exemples donnés pour découvrir comment ca marche, la FAQ est ici très complète.

    Quand tu insères un composant, tape son nom suivi de "->" tu verras les options et méthodes associés que tu pourras utiliser/modifier.

    Pour ce qui est de la lecture d'un fichier, tu peux le faire comme ca par exemple:
    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
     
       if(OpenDialog1->Execute())  //si on choisi un fichier
       {
           //le fichier sera ouvert comme un fichier texte
     
           //déclaration de la liste qui contiendra le fichier
           TStringList *Fichier = new TStringList;
           //chargement du fichier dans la liste
           Fichier->LoadFromFile(OpenDialog1->FileName);
     
           //la liste contient les N lignes du fichier (N = Fichier->Count)
           //les lignes sont répertoriés de 0 à N-1
           //chaque ligne est une chaîne de caractères du type AnsiString
     
           //exemple: affichage de la dernière ligne dans un TLabel
           Label1->Caption = Fichier->Strings[Fichier->Count-1];
       }
    pour tester le code, met un TOpenDialog et un TLabel.

    Pour décoder une AnsiString, tu as les méthodes Pos(), SubString() et Delete() que tu peux utiliser:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        //déclaration de la chaîne
        AnsiString chaine = "abcdefgh...";
        //recherche de 'd' dans la chaîne
        int posD = chaine.Pos('d'); //posD indique 4
    les AnsiString sont des chaînes de caractères dynamique n'ayant pas de caractère de fin de chaîne, le premier caractère se trouvant à l'indice 1.

    Je te laisse découvrir Builder, si tu as d'autres questions n'hésite pas mais découpe tes problèmes pour en faire des post différents, on te répondra plus vite avec des réponses beaucoup plus appropriées.
    Bon courage

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/04/2006, 11h59
  2. dessiner un graphe
    Par SalutMesProfs dans le forum C
    Réponses: 5
    Dernier message: 01/03/2006, 09h47
  3. Dessiner un graphe
    Par log2n dans le forum 2D
    Réponses: 3
    Dernier message: 27/01/2006, 15h23
  4. [GUI]dessiner un graphe
    Par Malo dans le forum 2D
    Réponses: 9
    Dernier message: 13/09/2005, 17h30
  5. [Dessin]dessiner des graphes
    Par mial dans le forum 2D
    Réponses: 4
    Dernier message: 27/04/2004, 19h51

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