partage d'un tableau de classe en multi form c++.net
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

partage d'un tableau de classe en multi form c++.net



  1. #1
    inviteac751535

    partage d'un tableau de classe en multi form c++.net


    ------

    bonjour,

    je cree actuellement un petit programme d'enregistrement de temperature.
    chaque temperature correspond a une classe PointP avec temperature,date,heure,coordon nee graphique.
    Donc le principe c'est d'enregistrer et d'afficher en meme temps sur une graphique.
    J'utilise le Picturebox car je me suis fait mon propre air de graphique.
    Mais bon voila pas de soucis pour l'affichage.quoique avec l'evenement on paint n'est pas genial.bref...

    en tout cas tout allait bien lorsque mon picturebox etait sur ma form1.Mais voila je prefere mettre mon graph sur une form2.
    Je galere vraiment pour partager mon tableau.
    j'ai seulement pour l'instant trouver la solution de declarer mon tableau dans stdafx.h
    Code:
    static PointP *P=new PointP[144];
    mais je sais qu'il existe une methode propre pour passer les variables d'une forme vers une autre.
    j'ai chercher sur le net mais seulement le code d'appartion de la form2 apparait...
    Code:
    form2^ formgraph=gcnew form2();
    formgraph->Show();
    pourriez vous m'aider svp

    -----

  2. #2
    invite895675d5

    Re : partage d'un tableau de classe en multi form c++.net

    Tu as plusieurs solution :
    La pas élégante mais facile à mettre en place = le tableau en variable globale, mais c'est le mal (surtout en C++).
    La "pas beaucoup plus élégante", mais à peu près aussi facile à mettre en place : le tableau en membre public de ta classe principale (c'est le mal aussi en C++).
    Surcharger le créateur ou la méthode show de ta form2 pour passer le tableau (ou un pointeur sur celui ci) en paramètre.
    Créer une fonction spécialement pour ça, tu lui passes le tableau (ou un pointeur) en paramètre.

    P.S. si tu es en .net tu as les classes datachart (il me semble) qui contiennent à peu près tout les types de graph, ça t'éviteras d'avoir ça à gérer à la main (je l'avais fais avant de découvrir ces classes magiques et je sais que ce n'est pas forcément évident).

  3. #3
    inviteac751535

    Re : partage d'un tableau de classe en multi form c++.net

    vive la bretagne BZH_Nicolas

    bon effectivement ma methode actuelle est une variable static globale PointP* P=new POINTP[144].
    ou pointP est la classe point et P donc le tableau de 144 points.

    donc voila mais c'est pas bon au niveau de l'ethique C++.

    bon donc j'ai essayer le constreur de form2:
    Code:
     Form2^form2=gcnew Form2(P);
    form2->show();
    mais arrivee dans la classe form2 je ne sais pas trop quoi en faire si ce n'est un autre tableau mais qui lui reste dans la classe par la suite.
    exemple
    Code:
    form2::form2(PointP *P)
    { PointP*P2=P;
    }
    mais apres....comment utiliser ce tableau dans un evenement type form2_load ou autre button_click.
    car je n'arrive pas a utiliser form2.P2 ou form2.P2[1à144];

    bref c'est galere pour moi avec mon petit niveau de c++

    merci de vos reponses
    j'utilise visual C++2005

  4. #4
    invite895675d5

    Re : partage d'un tableau de classe en multi form c++.net

    Une fois ta nouvelle fenêtre créé, dans le code de ta fenêtre tu l'appelles simplement P2 ou this->P2 (mais normalement tu ne devrais pas en avoir besoin, il ne devrait pas y avoir d'ambiguïté dans le code à ce niveau).

  5. A voir en vidéo sur Futura
  6. #5
    inviteac751535

    Re : partage d'un tableau de classe en multi form c++.net

    salut nico,

    merci encore:

    voila ce que j'ai fait:

    Code:
    dans form1.h:
    form2^ formgraph=gcnew form2(P);
    formgraph->Show();
    +
    #include"form2.h";
    
    dans form2.h:
    constructeur de form2
    form2(PointP* P)
    {
    P2=P;
    InitializeComponent();
    }
    +variable 
    private:
    PointP* P2;
    
    dans evenement:
    form2::P2[1]=PointP(14.5,1);car PointP(float temperature,int nbr)
    ou
    this->P2[0]=PointP(14.5,1);
    en tout cas merci Nico de m'avoir eclaire.

    kix

Discussions similaires

  1. partage d'un ADC
    Par invite715b0c13 dans le forum Électronique
    Réponses: 1
    Dernier message: 06/02/2007, 18h28
  2. Partage d'un disque
    Par invitefca7a9a3 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 1
    Dernier message: 31/12/2006, 16h09
  3. Chargeur (GSM) - multi input - multi output
    Par invite85353d3b dans le forum Électronique
    Réponses: 0
    Dernier message: 15/07/2006, 19h14
  4. [PARTAGE] Tableau Périodiques des Éléments INTERACTF
    Par invite0b6e39d7 dans le forum Chimie
    Réponses: 8
    Dernier message: 18/01/2006, 17h18