Probleme Array en C sous evc++

fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008 - 18 mai 2007 à 11:05
fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008 - 21 mai 2007 à 08:45
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

fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008
18 mai 2007 à 11:48
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! :-)
0
NitRic Messages postés 402 Date d'inscription mardi 1 mai 2001 Statut Membre Dernière intervention 15 août 2011
20 mai 2007 à 01:00
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 ::.)~
0
fredsor Messages postés 198 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 3 avril 2008
21 mai 2007 à 08:45
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
0
Rejoignez-nous