cs_Progez
Messages postés8Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention14 février 2008
-
13 févr. 2008 à 19:50
cs_juju12
Messages postés966Date d'inscriptionsamedi 3 avril 2004StatutMembreDernière intervention 4 mars 2010
-
14 févr. 2008 à 17:53
Bonjour, je sais pas si vous allez comprendre ma question! mais elle est assez simple
J'ai une boucle for
et jai 25 variable nommée Case_P1 à Case_P25
Je veux faire le plus simple possible dans ma boucle et éviter la redondance de code et afficher dans les 25 TextBox appelé ECase_1 à ECase_25:
Ainsi je suppose que ca l'aurais été ca :
for (int i =1;i<=25;i++)
{
char *name= ("CaseP" + String(i)).c_str();
double *NV = reinterpret_cast<double*> (name);
E_Case_(i)->Text = String(*NV);
// je veux la variable Case_P(i); pas compliqué non!
//Alors si simple pourtant compliqué
E_Case_(i) = Case_P(i);
}
Et non je ne peux pas utiliser les vecteur et non plus les tableau, car il y a déja du code d'implanté avec ces variable globale!
CCJ
Messages postés565Date d'inscriptionmercredi 19 mai 2004StatutMembreDernière intervention30 avril 20081 13 févr. 2008 à 20:23
Je n'ai pas un niveau extreme en C/C++ cependant d'apres ce que je sais , c'est impossible a moin que tes Case_Px aient eté placer en mémoire consecutivement (autrement dit un tableau). Si il ne s'agit que de 25 variables rien ne t'empeche de le faire sans utiliser de i et de boucle.
Si l'informatique été de l'alcool il y aurait des genies partout
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 13 févr. 2008 à 20:29
char *name= ("CaseP" + String(i)).c_str();
Ça compile ça ?
E_Case_ -> C'est une fonction ?
J'espère que tu n'essais pas de concatener i à E_Case_ à même le code ?
(Pour donner par exemple E_Case_1 E_Case_2 E_Case_3)
Si oui, c'est un bouquin de C++ que tu as besoin.
Et, pour faire équivalent, il n'y a pas d'autre façon que d'utiliser soit un tableau soit une liste (chainée ou non).
cs_Progez
Messages postés8Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention14 février 2008 13 févr. 2008 à 20:35
>>>>E_Case_ -> C'est une fonction ?
Réponse : non, c'est comme, E_case.Text c'est du borland builder C++ et non du VC! ou du GCC
>>>>J'espère que tu n'essais pas de concatener i à E_Case_ à même le code ?
(Pour donner par exemple E_Case_1 E_Case_2 E_Case_3)
Réponse : Exactement cela! que je veux dire! mais avec les variable aussi! Case_P(i)
Ca peut arriver ke ca l'existe pas, mais serait bien si yaurais une facons!
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 13 févr. 2008 à 22:05
Aucune chance que ça fonctionne si index n'est pas une valeur constante.
Ça ne fera que concatener j à E_Case_
Fera E_Case_j E_Case_j E_Case_j E_Case_j etc. etc. etc.
[auteur/PROGEZ/227529.aspx Progez] >> Pour la 3ème fois, NON c'est impossible.
SAKingdom
Messages postés3212Date d'inscriptionlundi 7 novembre 2005StatutMembreDernière intervention16 février 200915 14 févr. 2008 à 14:10
Les #define sont traduit dans le code par le préprocesseur. Cette opération ce fait avant la compilation. Il est donc complètement impossible qu'un #define puisse prendre une variable puisque que son contenue est inconnue (et est, de toute façon, variable).
cs_Progez
Messages postés8Date d'inscriptionsamedi 7 février 2004StatutMembreDernière intervention14 février 2008 14 févr. 2008 à 15:31
exactement! mais ca serait plaisant si ca l'existerais, on sauverais du temp parfois ! et des ligne de codes inutiles! de toute facon! jai fait une fonction récursive avec un objet en params au lieu et ca marche tres bien, merci a tous pour votre aide!