Probleme Array en C sous evc++

Signaler
Messages postés
198
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
3 avril 2008
-
fredsor
Messages postés
198
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
3 avril 2008
-
Bonjour, voici mon problème : a partir d'une chaine de caractère codé, je dois etre capable de générer une IHM correspondante. J'ai donc commencer par faire un parsing d'une chaine de caractère comme celle-ci :
char cBuffligne[]="EIcxylh<NOM1<ESSAI1<40<0<200<22<
                              LIcxyl<LIB1<ECR1<0<4<30<
                              BIcxy<ecran2<&OK<40<75<
                              Dc<SESSION=1|TBL1|C3|NOM1<<";
Le premier paramètre avant "<" représente un composant visuel (ici EditBox) et ce qu'il comporte : par exemple, pour EIcxylh, le "I" correspond a NOM1, le "c" à ESSAI1 etc...
J'arrive bien a parser tout cela dans un tableau
Ensuite je fais bien le lien entre le premier parametre et ceux qui suivent. Enfin, avec des "strchr", je suis capable de savoir que le 2eme parametre est égal à ESSAI1 par exemple

Cependant, j'aimerais maintenant stocker ensuite tout cela dnas des CArray, pour me permettre de récupérer par la suite avec des getters et des setters les informatiosn désirées, afin de générer l'ecran correspondant.
Voici la déclaration que je fais (Description étant 1 classe pour stocker mes Getters et Setters):
 
  CArray <Description, Description&> desc;

et voici lerreur :
>Parsing.cpp(19):error C2143: syntax error : missing ';' before '<'
>Parsing.cpp(19):error C2501: 'CArray' : missing storage-class or type specifiers
>Parsing.cpp(19):error C2143: syntax error : missing ';' before '<'

Est-il impossible de gérer les CArray sous eMbedded Visual C++? ou est-ce parce que je fais du C?
Merci d'avance

3 réponses

Messages postés
198
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
3 avril 2008

PEut-etre que je melange tout...
SI quelqu'un pense que je dois utilisé des tableau[][], peut-il me dire comment je pourrais ensuite récupérer les infos voulues.
J'aurais penser, si je pouvais utiliser les CArray, faire un truc du genre : 
   desc.ElementAt(i).SetIdentificateur(machin)
  ou encore
   desc.ElementAt(i).SetAbscisse(machin)

Mais la si je ne peux pas, comment je ferais le lien entre le composant et ses attributs??
Help c'est la panique! :-)
Messages postés
402
Date d'inscription
mardi 1 mai 2001
Statut
Membre
Dernière intervention
15 août 2011

en C, les classes, templates, etc. n'existent pas ! le C n'est pas du tout objet, tout ce dont tu parles plus haut c'est du C++, pas du C, en plus ton CArray c'est du MFC ce truc, MS specific

en C tu pourrais utiliser une structure, comme par exemple:

typedef struct infos
{
  char* name;
  int value;
}infos;

et ensuite tu crées un tableau pour y stocker tous les éléments

infos inf[NOMBRE_D_ELEMENT];
inf[0].value = 5;
...

si tu connais pas le nombre d'élément tu peux aussi passer par un pointeur plus un malloc() et compagnie ...

~(.:: NitRic ::.)~
Messages postés
198
Date d'inscription
lundi 24 avril 2006
Statut
Membre
Dernière intervention
3 avril 2008

Oki merci NitRic pour ta réponse!
finalement je suis passé par des getters et des setters sur ma clase Descritption. Dans cette classe j'ai créé un tableau et un compteur pour chaque attribut récupéré...
C'est peut-etre pas propre mais ça marche donc bon...
^^ si j'ai des souci par la suite je réfléchirai à l'utilisation  des struct
Encore merci