Bonjour,
Voici mon problème.
j'aimerai pouvoir écrire ceci avec des classes imbriquées dont une d'elle est un tableau de d'objets.
TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString();
en c# on fait ca:
fichier Cs de classe:
Utilisation dans main:
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
18
19
20
21
22
23
24
25
26
27 public class StationDeTravail { // Déclaration du tableau de station_SETOFPARAM public station_SETOFPARAM[] SetNum; // Déclaration general properties public general_Properties Properties; //constructeur public StationDeTravail(int NbreParam) {// Initialisation du tableau SetNum = new station_SETOFPARAM[NbreParam]; // Pour chaque élément du tableau for (int inc = 0; inc < NbreParam; inc++) { SetNum[inc] = new station_SETOFPARAM(); }// Initialisation de l'élément Properties = new general_Properties(); } public class station_SETOFPARAM {//class Station_SETOFPARAM public UInt32 StartPosition; // position de départ public UInt16 EndPosition; // position de fin } public class general_Properties {//class general_Properties public bool b_ShowHideStation;//Station visible ou pas } }
mais en c++ c'est différent...
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
18
19
20
21
22
23 public partial class MainHmi : Form { private List<StationDeTravail> StationTravail; private int nStation = 1; private ParamNum = 1; public MainHmi() { InitializeComponent(); //prg own objects StationTravail = new List<StationDeTravail>(); // Instancie la liste for (int inc = 0; inc < 5; inc++) // Pour chaque élément du tableau {StationTravail.Add(new StationDeTravail(6));}/*Initialisation des stations*/ //par exemple pour l'exemple //station 1 param 1 TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString(); TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString(); ParamNum = 2;//station 1 param 2 TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString(); TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString(); nStation = 2;//station 2 param 2 TBox.Text = StationTravail[nStation].SetNum[ParamNum].StartPosition.ToString(); TBox2.Text = StationTravail[nStation].SetNum[ParamNum].EndPosition.ToString(); }
dans le fichier .h
dans le fichier .cpp
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
18
19
20
21
22
23 public class StationDeTravail { virtual ~StationDeTravail(void);//destructeur // Déclaration du pointeur tableau de station_SETOFPARAM public: *station_SETOFPARAM[] ; // Déclaration general properties general_Properties Properties; //constructeur StationDeTravail(int NbreParam) { }; class station_SETOFPARAM {//class Station_SETOFPARAM public : uint32_t StartPosition; // position de départ uint16_t EndPosition; // position de fin }; class general_Properties {//class general_Properties public: bool b_ShowHideStation;//Station visible ou pas }; }
Je m'en sors pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 StationDeTravail::StationDeTravail(int NbreParam) { // Initialisation du tableau *station_SETOFPARAM[NbreParam] SetNum; // Pour chaque élément du tableau for (int inc = 0; inc < NbreParam; inc++) { SetNum[inc] = new station_SETOFPARAM(); }// Initialisation de l'élément //allocation dynamique Properties = new general_Properties(); } StationDeTravail::~StationDeTravail(void) { }
Merci pour votre aide.
Partager