Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Modifier le style des series dans un TChart [ Divers / Débutant(e) ] (SxProg)

mercredi 17 septembre 2008 à 14:26:09 | Modifier le style des series dans un TChart

SxProg

Bonjour à tous!

Je developpe une application sous Delphi win32 qui permet d'éditer un PV de test à partir d'un fichier de mesure en .xml. Jusqu'ici tout va bien, et je dirais meme plus j'ai presque finis. Il ne me restent qu'un point à finaliser (enfin deux mais le second je pense que c'est une "boulette" de ma part mais je ne sais pas ou...).

Ne trainons pas plus en palabre, et rentrons dans le vif du sujet. J'utilise donc un graphique TChart dans lequel j'ai plusieurs courbes afficher: 3 courbes de mesures et 2 courbes de gabarit. Le problème intervient sur cette dernière. J'arrive à afficher mes 2 courbes (valeurs positives et négatives). Cependant je n'affiche qu'une seule légende et j'aimerais donc que mes deux courbes est le meme "style" (carré, rond, triangle....peut importe la couleur).

Mon code, que j'ai largement simplifier pour une meilleure compréhension , est le suivant:

for i := 0 to 5 do Form1.Chart1.Series[i].Clear;
for Cptcourbe := 0 to NbCourbe do //Compteur du nombre de courbes
   begin
      for CptMesure := 0 to 10 do //compteur du nombre de mesures
         begin
            ValeurX := Cpt; //Valeur en X
            ValeurY := Mesure[CptCourbe][CptMesure]; //Valeur en Y
            Form1.Chart1.Series[Cptcourbe].AddXY(ValeurY,ValeurX,''); //Affectation des valeurs X et Y pour la série correspondante
            if RechercheGabarit = 'Gabarit' then //Si la courbe est un gabarit
               begin
                  ValeurY := - ValeurY; //Inversion de la valeur de Y
                  Form1.Chart1.Series[Cptcourbe+1].AddXY(ValeurY,ValeurX,''); //Affectation des valeurs X et Y pour la série suivante
               end;
         end;
   if RechercheGabarit = 'Gabarit' then >>>>
   end;


Nota: Peut etre que certains d'entre vous aurons remarquer que dans mon code, s'il y'a un gabarit et une courbe après, la courbe négative du gabarit est effacée. Partons du principe que ma courbe de gabarit est toujours la dernière.

La ou il y'a la pseudo flèche rouge (>>>>) j'ai tenté les possibilités suivantes, sans succès:

Form1.Chart1.Series[CptCourbe+1].Style := Form1.Chart1.Series[CptCourbe].Style;
Form1.Chart1.Series[CptCourbe+1].Cursor := Form1.Chart1.Series[CptCourbe].Cursor;

J'en appel donc aux lumières des genies de Codes-Sources pour solutionner mon problème. Je suis sacrément mal barré, je doit terminer mon projet pour....lundi dernier!
Je reste a votre disposition pour plus d'info!

Merci a tous!



jeudi 18 septembre 2008 à 09:27:29 | Re : Modifier le style des series dans un TChart

Loda

Membre Club
salut,

je suppose que tu utilise des TSeriesPointer series.

donc, je suppose que ton problème est que le chart.series[] returne des TChartSeries. Donc il te faut la transtyper TSeriesPointer avant de changer le  TSeriesPointer.Style.

un tucs genre (pas compiler)

var
  Sp, Sp2 : TSeriesPointer;
begin
....

if ( Form1.Chart1.Series[CptCourbe+1] is TSeriesPointer) then begin
  SP := Form1.Chart1.Series[CptCourbe+1] as TSeriesPointer;
end else continue;
if ( Form1.Chart1.Series[CptCourbe] is TSeriesPointer) then begin
  SP2 := Form1.Chart1.Series[CptCourbe] as TSeriesPointer;
end else continue;
sp2.style := sp.style;

un lien très utile [ENG]:
http://www.teechart.net/support/viewforum.php?f=3

bon code,


Loda

PS: la prochaine fois, "j'ai tenté les possibilités suivantes, sans succès" indique la cause de "l'echec" (erreur de compilation/execution/mauvais resultat + copie du message)


Se poser les bonnes questions est le premier pas pour trouver les bonnes réponses.



Cette discussion est classé dans : form1, series, gabarit, chart1, cptcourbe


Répondre à ce message

Sujets en rapport avec ce message

Petit problème avec showmodal [ par Youyou0214 ] Salut tout le monde,j'ai un problème avec showmodal, quand je suis dans une form je veux passer à une autre et faire disparaître celle dans laquelle j Appel d'une Form [ par apz ] salut, pour appeler une form, certains utilisent la méthode suivante : ------------------------------------------------------------Form1.Show--------- THREADS ERREUR [ par w38 ] Bonjour,Étant donné que j'ai une application qui met un temps fou, j'ai décidéd'utiliser des threads.Toutefois, le bouquin que j'ai stipule une formul Form dans une autre form :/ [ par Don0Choa ] Slt,Voila mon problème va pas etre facil à éxpliquer...J'ai une form (Form1) et dans cette Form la jen ai 3 aures(Form2, 3et 4), ce que je voudrais , DRAG AND DROP [ par minipod ] Très clairement: j'ai deux Form: Form1 et Form2 j'ai 2 RichEdit: RichViewEdit1 et RichViewEdit2 (composants trouvés sur trichview.com)sur Form1 j'ai R Fenêtres de même noms ( MDI ) [ par Bruto ] J'ai créé une application MDI & dans mon projet je peux ouvrir plusieurs fenêtres identiques. Comment faire pour dissocier les fenêtres de même nom.Le Récuperer une valeur dans un Form? [ par magicvinni ] Voila ce que je cherche à faire :sur ma form1, j'ai un bouton et quand on clique dessus, une boite de dialogue s'ouvre avec un Edit, un bouton annuler Volume [ par MAsterC ] Alors salut a tous, voici mon probleme, j'ai mis ce code dans mon programme, il sert a gerrer le volume «wave» de Windows, tous marche comme voulu sau Tchart Series [ par ryadus ] Si il y a par exemple 30 series,le probléme est que je ne sais pas comment utiliser for i:=1 to 30 do begin TLineSeries(FindComponent('series'+intt Exception EAbstract (Urgent!!!) [ par balgrim ] G un drole de bug, et je pige pas pkoi... :(vala le texte:procedure TForm2.Button2Click(Sender: TObject);varForm1:TForm1;beginForm1:=TForm1.create(App


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.