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 :

effacer une courbe sur TChart


Sujet :

C++Builder

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 35
    Points
    35
    Par défaut effacer une courbe sur TChart
    Bonjour,
    je programme sur C++ builder 6,
    je trace une courbe sur le composant Tchart et j'aimerais lors de lappuie sur un bouton effacer la courbe précédemment tracer pour en réaliser une autre.
    Comment dois-je faire pour effacer ma courbe précédente?
    Merci d'avance

  2. #2
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    quand tu crée une série dans un TChart, celle-ci est accessible via la variable Series suivit entre crochet de l'index de ta série.

    elle se trouve donc à la dernière position de ce tableau.

    Pour obtenir le nombre de séries, tu utilise la fonction SeriesCount() de ton TChart.

    Je ne sais pas quel type de courbe tu utilise, moi pour mon exemple, je vais utiliser une TFastLineSeries.

    Effacement de la courbe juste à l'écran, elle reste en mémoire dans le Chart.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       // Extraction de la dernière série ajoutée
       TFastLineSeries *Serie = (TFastLineSeries *)(Chart->Series[Chart->SeriesCount() - 1]);
     
        // Désactivation de la série
        Serie->Active = false;
    Suppression définitive de la courbe du Chart

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Chart->SeriesList->Delete(Chart->SeriesCount() - 1);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 35
    Points
    35
    Par défaut
    Merci pour ta réponse
    mais je ne comprent pas pourquoi tu me marque " // Extraction de la dernière série ajoutée",
    moi je n'est qu'une seul series donc series1, c'est une TFastLineSeries.
    Et je veut juste pouvoir l'effacer, pour qu'apres la meme series1 me serve pour creer une nouvelle courbe.

  4. #4
    Membre confirmé Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    933
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 933
    Points : 466
    Points
    466
    Par défaut
    Je te met extraction de la dernière série car il faut bien que tu la récupère dans le Chart pour pouvoir l'effacer. Par contre effectivement, si tu mémorise le pointeur sur ta série, tu n'a pas besoin de la re-extraire.

    Tu n'avais pas préciser que tu n'avais qu'une seule série car tu peut également effacer toutes les séries présentes dans un Chart comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
       Chart->RemoveAllSeries();

  5. #5
    Membre éprouvé
    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
    Points : 1 007
    Points
    1 007
    Par défaut
    Salut,
    il existe une méthode directe aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Chart1->Series[0]->Clear;
    //ou
    Series1->Clear;
    A vérifier, je n'ai pas Builder sous la main

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 35
    Points
    35
    Par défaut
    Merci a vous d'eux,
    pour info bandit boy c'est : Chart1->Series[0]->Clear; qui marche mais par contre je comprend pas dans mon tchart j'ai qu'une seul series qui s'apel series 1
    et lorsque je marque Chart1->Series[1]->Clear; ce ne marche pas
    par contre avec Chart1->Series[0]->Clear; la ca marche!

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    118
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 118
    Points : 93
    Points
    93
    Par défaut
    Bonjour,

    juste pour conclure : ta série s'appelle bien Series1 qui est différent de Series[1].

    Le composant Series contient les différentes séries et les indexe à partir de 0.

    Voilà pour l'explication.

    Et n'oublie pas le petit

    @+

  8. #8
    Membre éprouvé
    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
    Points : 1 007
    Points
    1 007
    Par défaut
    Comme l'explique Xav++ le nom "Series1" est arbitraire et il peut être changer.

    Lorsque tu double-clic sur le TChart, tu peux voir les séries qu'il comporte et dans l'odre d'affichage. Elles sont numérotée de 0 à N-1 pour les N séries enregistrée. Par exemple sur le fenêtre passé en pièce jointe j'ai deux série: Series3 et Series10, mais je peux les appeler respectivement Chart1->Series[0] ou Chart1->Series[1].
    Images attachées Images attachées  

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 64
    Points : 35
    Points
    35
    Par défaut
    oki, je comprend mieu maintenant!
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lissage d'une courbe sur graph XY
    Par Marc29 dans le forum LabVIEW
    Réponses: 4
    Dernier message: 13/08/2008, 15h44
  2. comment tracer une courbe sur linux en fortran 90
    Par supraconductivité dans le forum Linux
    Réponses: 2
    Dernier message: 05/02/2008, 13h01
  3. mettre une courbe sur un histogramme
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 08/11/2006, 18h07
  4. Projection d'une courbe sur un maillage 3D
    Par Kevinyaya dans le forum Développement 2D, 3D et Jeux
    Réponses: 1
    Dernier message: 17/05/2006, 11h00
  5. Réponses: 3
    Dernier message: 14/10/2005, 14h50

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