wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 1
Invités en ligne : 13

Actuellement en ligne :  paul_c_weiss

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Défibition et mise en oeuvre de tableaux
Conversation : Défibition et mise en oeuvre de tableaux
18-08-2021 12:03:40  Défibition et mise en oeuvre de tableaux #1
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 46
Snippets: 0
Tutoriels: 0
Hors ligne
J'ai besoin de créer des tableaux d'objets, de chaines, de doubles et de pointeurs sur double.
Je n'arrive pas à les définir et à les initialiser correctement. Merci pour votre aide.

Code Cpp:

 
nsUtile.h
---------
# include <wx/arrstr.h>          // arraystring
# include <wx/dynarray.h>        // tableu dynamique
# include <wx/arrimpl.cpp>       // tableau d'objet
 
namespace nsUtile
{
class Graduation;
WX_DECLARE_OBJARRAY( Graduation, TableGraduations );
class Graduation
{
    public:
    unsigned UPosition;
    unsigned UValeur;
    Graduation();
    ~Graduation();
};
 
class Echelle;
WX_DECLARE_ARRAY_DOUBLE( double, TableEchelles ); //TableEchelles has not been declared
class Echelle
{
    public:
    double DMetrique;
    Echelle();
    ~Echelle();
};
 
class Point;
WX_DECLARE_OBJARRAY( Point *, TablePointeursDoubles );
class Point
{
    public:
    double * &DValX;
    double * &DValY;
    Point();
    ~Point();
};
    ...
}
------------------------
nsUtile.ccp
-----------
# include "nsUtile.h"
using namespace nsUtile;
 
// Tableau d'objet
// ---------------
WX_DEFINE_OBJARRAY( TableGraduations );
TableGraduations TabMetrique;
unsigned UPos1 = 20, UVal1 = 5, UPos2 = 30, UVal2 = 8, UPos3 = 40, UVal3 = 5;
TabMetrique Element1, Element2;        // err: 'TabMetrique' does not name a type
Element1.Position = UPos1;             // err: expected constructor, destructor, or type conversion
Element1.Valeur   = UVal1:             //      idem
TabMetrique.Add ( Element1 );
Element2.Position = UPos2;             //       "
Element2.Valeur   = UVal2:             //       "
TabMetrique.Add ( Element2 );
 
// Tableau de chaîne
// -----------------
wxArrayString STable();
wxString SS = "abc";
STable.Add ( SS, 1 );                  //       "
int CC = STable.Count();               // err: request for member "count" in STable
STable.Insert ( _T( "CouCou" ), CC )//       "
 
// Tableau de doubles
// ------------------
WX_DEFINE_ARRAY_DOUBLE( double, TableEchelles );
TableEchelles TXY;
TXY a, b;                            // TXY does not name a type
double a = 1., b= 2.;
TXY.Add ( a, 1 );                    // err: expected constructor, destructor, or type conversion
TXY.Append ( b );                    // err: expected constructor, destructor, or type conversion
 
// Tableau de pointeurs sur double
WX_DEFINE_ARRAY_PTR( Point *, TablePointeursDoubles );
TablePointeursDoubles PTabXY;         //  TablePointeurDoubles does not name a type
TabXY PointA;                         //   " TableXY does not name a type
double DValx = 3., DValy = 5.;
PointA.DValX = * DValx;               //   " err: expected constructor, destructor, or type conversion
PointA.DValy = * DValy                //   "
TabXY.Add(PointA);                    //   "   
....
 

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
18-08-2021 14:42:36  Re: Défibition et mise en oeuvre de tableaux #2
Gandi (Gourou de la secte)
Lieu: Clermont-Ferrand
Inscrit le : 10-10-2007
Messages: 222
Snippets: 5
Tutoriels: 0
Site web
Hors ligne
Bien le bonjour Alfred,

TableGraduations TabMetrique; déclare un objet TabMetrique et non un alias.

pour définir un alias de type tu as les instructions typedef et using
https:/en.cppreference.com/w/cpp/language/type_alias
https:/en.cppreference.com/w/cpp/language/typedef

ce qui donne ça:
typdef TableGraduations TabMetrique;

ou

using TabMetrique = TableGraduations;

"Les ordinateurs ne remplaceront jamais les livres. Vous ne pouvez pas vous mettre sur une pile de disquettes pour atteindre le haut de votre armoire" ( Sam Ewing )
18-08-2021 19:53:25  Re: Défibition et mise en oeuvre de tableaux #3
Alfred83 (Membre)
Lieu: Toulon 83
Inscrit le : 28-12-2007
Messages: 46
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour et merci Gandi. Cela va déjà beaucoup mieux avec des typdefs, par contre je n'ai rien vu à ce sujet dans la doc sur les tableaux!

Informaticien bénévole du "Groupement des Intellectuels Aveugles ou Amblyopes" à Toulon, qui publie les trois quarts des livres en braille en France.
18-08-2021 22:15:42  Re: Défibition et mise en oeuvre de tableaux #4
Gandi (Gourou de la secte)
Lieu: Clermont-Ferrand
Inscrit le : 10-10-2007
Messages: 222
Snippets: 5
Tutoriels: 0
Site web
Hors ligne
C'est normal, rien ne t'oblige à faire ces alias.


Tu peux directement déclarés tes tableaux ainsi.
TableEchelles a, b;

"Les ordinateurs ne remplaceront jamais les livres. Vous ne pouvez pas vous mettre sur une pile de disquettes pour atteindre le haut de votre armoire" ( Sam Ewing )
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Utilisation générale wxWidgets
» Défibition et mise en oeuvre de tableaux