FAQ C++ BuilderConsultez toutes les FAQ

Nombre d'auteurs : 60, nombre de questions : 670, dernière mise à jour : 21 novembre 2010  Ajouter une question

 

Cette F.A.Q. a été réalisée à partir des questions fréquemment posées sur le forum C++ Builder de developpez.com et de l'expérience personnelle des auteurs.

Nous tenons à souligner que cette F.A.Q. ne garantit en aucun cas que les informations qu'elle propose soient correctes. Les auteurs font le maximum, mais l'erreur est humaine. Cette F.A.Q. ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez devenir rédacteur, contactez pottiez

Nous espérons que cette F.A.Q. saura répondre à un maximum de vos questions. Nous vous souhaitons une bonne lecture.

L'équipe C++ Builder de Developpez.

Commentez cette FAQ : Commentez


SommaireInterface bisComposantsLes images et le graphismeTChart (12)
précédent sommaire suivant
 

Un TChart est un composant permettant de réaliser des graphiques pour représenter des chiffres. Il peut représenter un repère orthonormé, un histogramme, un camembert, ou un diagramme de Gantt. Le repère orthonormé permet d'afficher de plusieurs manières : points reliés, nuage de points, vecteurs, zones (par shape, ou rondes).
Chaque série de données est représenté dans une "Series".

Les fonctions décrites dans la FAQ peuvent être définies soit par logiciel lorsque l'application est en cours, soit à la conception en double-cliquant sur le composant.

Mis à jour le 6 décembre 2006 bandit boy

Il faut dans un premier temps déclarer la série du type que l'on souhaite.

Code c++ : Sélectionner tout
1
2
3
TFastLineSeries *Serie; 
Serie = new TFastLineSeries(this); 
Serie->ParentChart = Chart1;
Les différentes séries sont les suivantes
  • TAreaSeries
  • TBarSeries
  • TCircledSeries
  • TCustomBarSeries
  • TCustomSeries
  • TFastLineSeries
  • THorizBarSeries
  • TLineSeries
  • TPieSeries
  • TPointSeries
  • TSeriesPointer

Mis à jour le 6 décembre 2006 bandit boy

Dans le cas d'une série représentée dans un repère XY, il suffit d'ajouter un point en utilisant la méthode AddXY.

Code c++ : Sélectionner tout
Serie->AddXY(X, Y, "texte en X", clBlack);
X et Y sont de type double.

Mis à jour le 6 décembre 2006 bandit boy

Dans un premier temps, on déclare la série (ici sur un DBChart, idem TChart), puis on ajoute un "Pie". Les 360° sont représentés par une valeur de 100 (ici 30+50+20). Dans le cas où la somme n'est pas égale à 100, la dernière part ne fera pas la valeur indiquée, mais le complément.

Code c++ : Sélectionner tout
1
2
3
4
5
6
TPieSeries *Series1; 
Series1 = new TPieSeries(this); 
Series1->ParentChart = DBChart1; 
Series1->AddPie(30, "1 partie", clLime); 
Series1->AddPie(50, "2 partie", clBlue); 
Series1->AddPie(20, "3 partie", clYellow);

Mis à jour le 6 décembre 2006 bandit boy

Le diagramme de Gantt représente des zones sur différentes hauteurs, pour ajouter une donnée, il faut utiliser la fonction AddGantt.

Code c++ : Sélectionner tout
Series1->AddGantt(Depart, Fin, NumLigne, "Texte de la ligne");
Depart et Fin sont les coordonées en X de départ et de fin de la zone créée.
NumLigne représente la ligne sur laquelle elle se trouvera et "Texte de la Ligne" sera le texte associé.

Mis à jour le 6 décembre 2006 bandit boy

Il faut dans un premier temps initialiser l'axe X en fonction du temps et lui donner un incrément.

Code c++ : Sélectionner tout
1
2
3
Chart1->BottomAxis->ExactDateTime = true; 
Chart1->BottomAxis->Increment = DateTimeStep[dtOneSecond]; 
Serie->AddXY(Now(), Y, DateTimeToStr(Now()), clBlack);
Ici, on affiche à l'heure du PC la valeur Y.

Mis à jour le 6 décembre 2006 bandit boy

Il est possible de sauver un Chart sous la forme d'une image BMP par la méthode SaveToBitmapFile.

Code c++ : Sélectionner tout
Chart1->SaveToBitmapFile("C:\\graph.bmp");
Par exemple, ici on sauvegarde l'image graph.bmp sous la racine, qui sera l'image du graphe.

Mis à jour le 6 décembre 2006 bandit boy

On peut modifier le style (trait plein ou pointillé) du trait si ce dernier est d'épaisseur d'1 pixel. On peut également modifier l'épaisseur du trait.

L'exemple suivant permet d'obtenir un trait pointillé.

Code c++ : Sélectionner tout
1
2
3
Serie->LinePen->Width = 1; 
Serie->LinePen->SmallDots = true; 
Serie->LinePen->Style = psDot;

Mis à jour le 6 décembre 2006 bandit boy

La couleur de la série peut être modifiée par la propriété SerieColor.

Code c++ : Sélectionner tout
Serie->SeriesColor = clLime;

Mis à jour le 6 décembre 2006 bandit boy

L'utilisateur peut se déplacer en faisant un "cliqué-glissé" avec le clic droit de sa souris.
Il est possible d'autoriser le déplacement sur tout le graphe, sur son axe horizontal, vertical, ou de l'inhiber totalement. Il faut modifier la propriété AllowPannel.

Code c++ : Sélectionner tout
Chart1->AllowPanning = pmNone; //interdit le déplacement
Autres valeurs possibles
  • pmHorizontal autorise le déplacement horizontal seulement
  • pmVertical autorise le déplacement verticalseulement
  • pmBoth autorise le déplacement complet

Mis à jour le 6 décembre 2006 bandit boy

Il faut modifier le paramètre AllowZoom.

Code c++ : Sélectionner tout
Chart1->AllowZoom = true; //autorise le zoom
Le zoom se fait en dessinant une zone avec le clic gauche de la souris.

Mis à jour le 6 décembre 2006 bandit boy

Pour modifier l'échelle du TChart il suffit d'accéder à la propriété Logarithmic des axes du TChart (BottomAxis, LeftAxis, ...) :

Code c++ : Sélectionner tout
Chart1->BottomAxis->Logarithmic = true;

Mis à jour le 21 novembre 2010 pottiez sat83

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2020 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.